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