SQL Date

SQL Date

SQL Date 日期時間

一般資料庫都有提供表示日期的資料型態 (Date Data Types)。

MySQL 中,有這些型態來表示日期:

  • DATE 型態 – 格式是 YYYY-MM-DD
  • DATETIME 型態 – 格式是 YYYY-MM-DD HH:MI:SS
  • TIMESTAMP 型態 – 格式是 YYYY-MM-DD HH:MI:SS
  • YEAR 型態 – 格式是 YYYY

SQL Server 中,有這些型態來表示日期:

  • DATE 型態 – 格式是 YYYY-MM-DD
  • DATETIME 型態 – 格式是 YYYY-MM-DD HH:MI:SS
  • SMALLDATETIME 型態 – 格式是 YYYY-MM-DD HH:MI:SS

日期查詢 (select date)

例如下面這張 Orders 資料表:

OrderIdProductNameOrderDate
1Geitost2018-12-11
2Camembert Pierrot2018-11-09
3Mozzarella di Giovanni2018-11-11
4Mascarpone Fabioli2018-10-29

從表中取得訂單日期為 2018-11-09 的訂單:

SELECT * FROM Orders WHERE OrderDate='2018-11-09'

返回的結果:

OrderIdProductNameOrderDate
2Camembert Pierrot2018-11-09

日期比較 – 查詢某個日期區間內的資料 (select data from date range)

假如你想查詢上面 Orders 資料表中,所有 2018/11 月份的訂單。

你可以用比較運算子 >=<>=<=

SELECT * FROM Orders WHERE OrderDate>='2018-11-01' AND OrderDate<'2018-12-01'

或用 BETWEEN 運算子

SELECT * FROM Orders WHERE OrderDate BETWEEN '2018-11-01' AND '2018-11-30'

返回的結果:

OrderIdProductNameOrderDate
2Camembert Pierrot2018-11-09
3Mozzarella di Giovanni2018-11-11

日期操作相關的函數 (date functions)

MySQL

  • NOW() 取得現在的日期時間
  • CURDATE() 取得現在的日期
  • CURTIME() 取得現在的時間
  • DATE() 取出日期時間中日期的部分
  • EXTRACT() 取出日期時間中特定的部分
  • DATE_ADD() 給日期時間增加指定的間隔
  • DATE_SUB() 給日期時間減去指定的間隔
  • DATEDIFF() 日期相減
  • TIMESTAMPDIFF() 日期時間相減
  • DATE_FORMAT() 格式化日期時間顯示

SQL Server

  • GETDATE() 取得現在的日期時間
  • DATEPART() 取出日期時間中特定的部分
  • DATEADD() 增加或減少指定的時間間隔
  • DATEDIFF() 日期相減
  • CONVERT() 格式化日期時間顯示

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *