通過時間條件分別從兩張表中查詢資料,代碼差不多
adoCon.SQL.clear;
adoCon.SQL.add('select * from 表1 where time > :time');
adoCon.Parameters.ParameterByName('time').Value := Now;
adoCon.SQL.Open;
adoCon.SQL.clear;
adoCon.SQL.add('select * from 表2 where time > :time');
adoCon.Parameters.ParameterByName('time').Value := Now;
adoCon.SQL.Open;
第一查詢結果正確,而第二張表多了一條,就是time=Now的記錄,可明明是大于呀
這兩張表唯一的區別就是:表1的time欄位可為空,而表2不能為空。
這有關系嗎?
uj5u.com熱心網友回復:
把你多出來的那條貼出來看看,是不是滿足條件?如果滿足條件,那又有什么問題呢?不是你要的結果只能說是你的查詢條件用錯了
如果不滿足……無資料無真相
uj5u.com熱心網友回復:
用什么資料庫 是不是日期精度的原因?
uj5u.com熱心網友回復:
我把資料庫時間和我的條件時間都轉換成Float型,值是一樣的
不過說到精度,也有這個可能
delphi 的 DateTime精度是多少?SQL Server 2005的datetime又怎么設精度呢?
uj5u.com熱心網友回復:
SQL Server 2005的datetime又怎么設精度呢?
SQL Server 2005的時間精度3毫秒
uj5u.com熱心網友回復:
你確定多的那一條記錄是表2的?用前或用后最好Close
adoCon.SQL.Close;
uj5u.com熱心網友回復:
其實像這種日期時間的欄位,我們一般是用varchar型別,這樣好比較。用時間存在精度,時區等問題,查詢結果確實有時候也存在問題。如果是是日期時間型別,最好是都轉化為char型別進行比較。這樣應該是可以的!
uj5u.com熱心網友回復:
換個思路是不是可以在time做文章啊,
就要time=now()的資料
uj5u.com熱心網友回復:
now()加上一秒uj5u.com熱心網友回復:
你看看時間欄位的時分秒 ,我估計問題就在這轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/149061.html
標籤:數據庫相關
