文章详情页
mysql中datetime列如何做筛选?
浏览:137日期:2022-06-14 17:21:28
问题描述
1,数据库中有个数据的创建时间的列 F1,类型是 datetime 类型2,现在准备做个根据给定时间来筛选数据的功能3,现在的SQL代码如下:
select * from TABLE where F1 > ’2017-01-01 12:23:33’
上面的 > 可以是 < 或者 <=,重点是没用 between and,根据观察发现这么去筛的时候出来的数据有可能不太对。
4,个人猜猜:由于最终转换成字符串的形式比较,所以感觉像是在做字符串比较而非时间比较导致数据不对。
5,问题:想问下大家有什么方法没用可以使出来的数据是正确的,说把列改类型是不可能了,只能从SQL语句上想办法了
问题解答
回答1:datetime这样比较是没有问题的 即使转换成字符比较效果也是一样的 你的数据不对怎么不对的 要找找其他的原因
回答2:解决方法就是采用 unix_timestamp 转一下,最终使用整数形式比较一定是没问题的。
请问下大家,不能直接使用字符串比较的原因是啥?
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. java - mybatis怎么实现在数据库中有就修改,没有就添加4. MYSQL新建用户设置可以远程访问的问题5. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么6. linux - 为什么我在mysql的my.cnf下找不到bind-address?7. MySQL中的enum类型有什么优点?8. mysql多表联合查询优化的问题9. 求教一个mysql建表分组索引问题10. 数据库设计 - MySQL数据库主键问题
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)