日期查詢最大的難點在於 格式匹配。純日期比較簡單,但涉及時間元件時複雜度大幅上升。
| 函數 | 描述 |
|---|---|
| NOW() | 目前日期時間 |
| CURDATE() | 目前日期 |
| CURTIME() | 目前時間 |
| DATE() | 擷取日期/時間的日期部分 |
| EXTRACT() | 取得日期/時間的單一部分 (年/月/日等) |
| DATE_ADD() | 日期加上指定間隔 |
| DATE_SUB() | 日期減去指定間隔 |
| DATEDIFF() | 兩日期相差天數 |
| DATE_FORMAT() | 格式化日期/時間顯示 |
| 函數 | 描述 |
|---|---|
| GETDATE() | 目前日期時間 |
| DATEPART() | 取得日期/時間單一部分 |
| DATEADD() | 日期加減指定間隔 |
| DATEDIFF() | 兩日期時間差異 |
| CONVERT() | 格式化日期/時間顯示 |
註:建表時需為欄位選擇正確資料類型。

| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2008-11-11 13:23:44 |
| 2 | Camembert Pierrot | 2008-11-09 15:45:21 |
| 3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
| 4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
查詢 WHERE OrderDate = '2008-11-11' 將 無任何結果,因為資料含時間但查詢條件只有日期。
最佳實務: 若不需時間精度,請勿在日期欄位儲存時間元件,保持查詢簡單易維護。