SQL里面,用字符类型存储时间,可以比较时间大小吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL里面,用字符类型存储时间,可以比较时间大小吗?相关的知识,希望对你有一定的参考价值。
可以比如
select * from 表 where 日期字段>'2012-1-1' 就是查询日期大于2012-01-01的数据。追问
那能不能跨天进行比较
追答你说怎么跨天?举个例子、
追问就是跨了一天,比如查询:where 日期字段 >'2012-1-1 23:00' and 日期字段<'2012-1-2 05:00'
追答当然可以了。
参考技术A 直接比较是不合理的,可以用to_date(字符字段,'yyyymmdd')来比较 参考技术B 一样可以比较大小的sqlserver 比较两个日期大小是怎么把日期类型或者字符串转换成int的
例如2010-01-31-17.18.40和2011-01-31-20.18.34比较大小,那么他们是被转换成2010013117840和20110131201834然后比较吗?就是把中间非数字的字符去掉吗?
参考技术A sqlserver中的日期时间的比较,可以直接比较的,也就是说,两个类型一样的时间是可以直接比较的,你说把时期转为int类型,确切的说不是int类型,而是long类型。
这个转换不是简单的把中间的非数字去掉,而是与1900-01-01
00:00:00这个时间的时间差的毫秒数。
以上是关于SQL里面,用字符类型存储时间,可以比较时间大小吗?的主要内容,如果未能解决你的问题,请参考以下文章
sql存储过程中时分秒字符串怎么比较大小 如08:30:00 与13:00:00怎么比较