mysql中datetime列如何做筛选?
PHP中文网
PHP中文网 2017-04-17 16:31:29
0
2
490

1,数据库中有个数据的创建时间的列 F1,类型是 datetime 类型
2,现在准备做个根据给定时间来筛选数据的功能
3,现在的SQL代码如下:

select * from TABLE where F1 > '2017-01-01 12:23:33'

上面的 > 可以是 < 或者 <=,重点是没用 between and,根据观察发现这么去筛的时候出来的数据有可能不太对。

4,个人猜猜:由于最终转换成字符串的形式比较,所以感觉像是在做字符串比较而非时间比较导致数据不对。

5,问题:想问下大家有什么方法没用可以使出来的数据是正确的,说把列改类型是不可能了,只能从SQL语句上想办法了

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
PHPzhong

datetime這樣比較是沒有問題的 即使轉換成字符比較效果也是一樣的 你的數據不對怎麼不對的 要找找其他的原因

迷茫

解決方法就是採用 unix_timestamp 轉一下,最後用整數形式比較一定是沒問題的。

請問下大家,不能直接用字串比較的原因是啥?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!