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日期比较大小

sql存储过程中时分秒字符串怎么比较大小 如08:30:00 与13:00:00怎么比较

C语言:用指针实现字符串大小的比较,应该怎样做呢?

请问c语言中用字符数组怎么判断输入的一串数字是大于等于或者小于0呢

SQL编码中注意的性能问题

sql语句关于时间与时间戳