如何選擇數據庫中的行數量,如果類型是varchar?查詢選擇數據庫中當前日期的行數?
SELECT * FROM `orders` WHERE DATE(`order_date`) = DATE(NOW())
不會工作,因爲它不存儲在日期時間有沒有其他方式?
2011-10-30 19:14:32
是什麼是存儲
如何選擇數據庫中的行數量,如果類型是varchar?查詢選擇數據庫中當前日期的行數?
SELECT * FROM `orders` WHERE DATE(`order_date`) = DATE(NOW())
不會工作,因爲它不存儲在日期時間有沒有其他方式?
2011-10-30 19:14:32
是什麼是存儲
您可以使用
SELECT * FROM `orders` WHERE DATE(`order_date`) = CURDATE()
由於order_date
是VARCHAR,試着用:在SQL
WHERE LEFT(order_date, 10) = CURDATE()
使用datediff
功能....
喜歡的東西
SELECT * FROM table WHERE DATEDIFF(day, StartDate, GETDATE()) <= 0
最佳將改變order_date
到date
類型和使用:
SELECT *
FROM orders
WHERE order_date >= CURDATE()
AND order_date < CURDATE() + INTERVAL 1 DAY
如果你把它作爲VARCHAR
,你可以使用這種變化:
SELECT *
FROM orders
WHERE order_date >= CAST(CURDATE() AS CHAR)
AND order_date < CAST((CURDATE() + INTERVAL 1 DAY) AS CHAR)
這兩個都可以使用索引order_date
(如果有的話)。