2013-04-26 69 views
0

我正在运行数据比较,似乎有数字比较的问题。过滤数据比较的MySQL信息

数据库中的所有内容都以varchar形式存储,我使用以下代码 进行过滤和比较。

$record['oldvalue'] = '"' . strtoupper(trim(str_replace(array("\n", "\r", '"'), '', $source))) . '"'; 
$record['newvalue'] = '"' . strtoupper(trim(str_replace(array("\n", "\r", '"'), '', $compare))) . '"'; 

if ($record['oldvalue'] != $record['newvalue']) {$record['difference'] = "Y";} 
else {$record['difference'] = "N";} 

所有非数字和部分数字字段都可以正常返回。 但日期和数字返回一个错误的差异。 (当手动检查时,字段在数据库和输出中显示完全相同)

我确定它只是我没有过滤的东西,有什么建议吗?

回答

0

添加var_dump($record['oldvalue'])var_dump($record['newvalue'])并看看是否可以看到差异。

它可能是拖尾空间或浮点舍入或其他。

+0

谢谢你做到了!浮点回合:P – 2013-04-27 15:33:21