mysql 日期在数据库中用char(14)来存储 取的时候怎么比较时间大小

发布网友 发布时间:2022-04-24 02:39

我来回答

3个回答

热心网友 时间:2022-04-13 00:46

1.首先,把读取出来的值转换成DateTime类型,因为字符串不能比较大小
DateTime dTimeDB1 = Convert.todateTime(数据库中的值);
DateTime dTimeDB2 = Convert.todateTime(数据库中的值);
2.然后,再进行比较
使用比较方法:
if(DateTime.Compare(dTimeDB1 ,dTimeDB2) > 0)
说明:dTimeDB1 > dTimeDB2即dTimeDB1 是晚于dTimeDB2的时间

当然也可以不使用比较方法,而直接比较时间大小,就像比较数值一样

热心网友 时间:2022-04-13 02:04

数据库sql查询中直接比较大小就可以了,字符串也是可以比较的,如果不放心用str_to_date
比如str_to_date('20121231142356','%Y%m%d%H%i%s');可以吧这个14位数的字符串变成日期类型
再比如A,B两个表中都有一个字段x的长char(14)的日期格式
比较A的日期大于B可以用
select …………where str_to_date(A.x,'%Y%m%d%H%i%s)>str_to_date('B.x,'%Y%m%d%H%i%s)来自:求助得到的回答

热心网友 时间:2022-04-13 03:38

第一,时间用Char(14)的话不能直接比较,
第二,应该吧Char(14)类型转化为Datetime类型在用比较运算符进行比较,这样就能达到你说要的结果。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com