sql比較字符串,比的究竟是什麼?

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

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

發現能夠直接進行比較,也就是select * from a where time1<time2,不知足條件,string

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

緣由是字符串作比較時,是直接對它的ASCII碼進行逐一比較,im

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

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

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

相關文章
相關標籤/搜索