2013-04-26 70 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