sql比較字符串,比的到底是什么?


sql里有nvarchar類型的日期數據time1:2019-10-09 00:00:00,

現給定string類型日期time2:2019-10-01 23:59:59,比較兩個日期的大小,

發現可以直接進行比較,也就是select * from a where time1<time2,不滿足條件,

修改一下time2:2019-10-1 23:59:59,再來比較,又滿足條件了,

原因是字符串做比較時,是直接對它的ASCII碼進行逐一比較,

  在比較time2:2019-10-01 23:59:59時,比較到第10位的時候,9>1就出結果了;

  在比較time2:2019-10-1 23:59:59時,比較到第9位的時候,0<1就出結果了;

所以比較字符類型的日期數據時一定要保持格式一致,或者先轉換再比較

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM