0
A
回答
3
我在這裏盲目地假設MySQL,因爲它在這個問題的背景下是有意義的。沒有人會使用其他數據庫引擎首先會創建這個問題。
STR_TO_DATE
來救援!鑑於格式「2000年3月1日」,以下轉換應該工作。
SELECT STR_TO_DATE(column_name, '%M %d, %Y')
FROM TableName
WHERE ...
ORDER BY STR_TO_DATE(column_name, '%M %d, %Y')
您可能需要稍微調整format string。
1
SELECT * FROM tbl WHERE DATE(your_date_column) = CURDATE()
這將選擇所有行,其中your_date_column
是今天的日期。
如果您想選擇所有行your_date_column
是兩個日期之間,你可以簡單地使用BETWEEN:
SELET * FROM tbl WHERE your_date_column BETWEEN '20111-03-20' AND '2011-03-30'
1
如果你的兩個日期變量,比如$date_begin
和$date_end
,你可以使用一個SQL查詢類似以下,以獲得這這些日期間的數據:
select *
from your_table
where date between '$date_begin' and '$date_end'
(不知道我不太明白的問題)
如果你想獲得對應於當前日期的行,你需要的變量:
$current
;這將是象2011-03-20
- 這意味着2011-03-20 00:00:00
$next
;這將是像2011-03-21
- 這意味着2011-03-21 00:00:00
你會使用類似這樣的查詢:
select *
from your_table
where date >= '$current' and date < '$next'
要選擇有它的日期是大於或等於今天的數據;那是在明天之前。
在任何情況下,請儘量不要在日期列中應用SQL函數;不要做這樣的事:
where some_function(date) >= ...
這樣做,你的數據庫引擎將不得不該功能適用於您的表的所有行,不使用你可能對date
列任何索引 - 這將導致糟糕的表演。
+0
不客氣:-)玩得開心! – 2011-03-20 13:58:56
相關問題
- 1. 按日期和月份SQL選擇查詢順序
- 2. 從多個表中同時按日期順序選擇數據(數據流)
- 3. 順序輸出XML數據按日期
- 4. 按日期奇怪的SQL結果順序,計數(日期)
- 5. 按問題SQL日期順序
- 6. 按順序選擇
- 7. Sql - 按特定順序選擇
- 8. SQL - 按順序選擇Top 1
- 9. 選擇按日期
- 10. Python SQL對象按字典和日期選擇數據
- 11. SQL選擇具有附加查找值的順序日期
- 12. SQL按今天的日期選擇
- 13. 按選擇順序排序
- 14. Elasticsearch - 按日期返回憑證計數 - 按日期順序
- 15. 在sql中選擇日期加一的日期時間數據
- 16. 如何按日期順序選擇總數達到任意數量的記錄?
- 17. 從兩個表格中選擇數據並按日期排序
- 18. MYSQL PHP選擇順序按
- 19. Sql COUNT列按日期並選擇記者日期
- 20. SQL Server:選擇日期時間並按日期分組
- 21. 根據日期選擇記錄SQL
- 22. 按日期排序數據?
- 23. 按日期排序數據
- 24. iOS SimpleDB按日期選擇
- 25. SQL選擇分組方式和按日期排序
- 26. SQL Server的日期選擇
- 27. SQL - 選擇兩個日期
- 28. 選擇特定日期SQL
- 29. SQL:子與日期選擇
- 30. DataGridView按錯誤順序排序日期
您還需要指定DB你談論。答案將涉及使用數據庫特定的日期解析和投射功能,但如果您不幫助我們理解這些詳細信息,我們無法提供幫助。 – kvista 2011-03-19 06:03:01
修復您的數據模型。永遠不要將日期存儲爲varchars。如果你使用'date'數據類型來存儲它們,你就不會有任何排序問題。 – 2011-03-19 08:12:01
你可以展示一些示例數據和表結構嗎? – 2011-03-20 13:32:39