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

如题所述

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

当然也可以不使用比较方法,而直接比较时间大小,就像比较数值一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-10
数据库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)来自:求助得到的回答
第1个回答  2013-01-10
第一,时间用Char(14)的话不能直接比较,
第二,应该吧Char(14)类型转化为Datetime类型在用比较运算符进行比较,这样就能达到你说要的结果。