文章詳情頁
mysql中datetime列如何做篩選?
瀏覽:90日期: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. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處2. 圖片鏈接的地址怎么獲得的3. python - 我在使用pip install -r requirements.txt下載時,為什么部分能下載,部分不能下載4. mysql - 如何減少使用或者不用LEFT JOIN查詢?5. mysql - jdbc的問題6. mysql - eclispe無法打開數據庫連接7. mysql 5個left關鍵 然后再用搜索條件 幾千條數據就會卡,如何解決呢8. 視頻文件不能播放,怎么辦?9. mysql - 千萬級數據的表,添加unique約束,insert會不會很慢?10. html5 - H5 audio 微信端 在IOS上不能播放音樂
排行榜
