0

我正在运行数据比较,但数字比较似乎存在问题。

数据库中的所有内容都存储为 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";}

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

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

4

1 回答 1

0

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

它可能是尾随空格或浮点舍入或其他东西。

于 2013-04-26T22:04:08.320 回答