若你是使用 ORM ( Object Relational Mapping ) 來操作資料庫的話,那麼在建立 Modal、寫入資料之時,多半會有時間欄位來記錄「建立時的日期」和「最近一次的日期」。雖說 SQL 也內建了不少日期相關的操作函數,但各家的寫法多少仍存在差異,詳情還是要以各家的開發文件為主。
日期的格式除了生活中常用的 YYYY-MM-DD 外,還有 timestamp 格式。
不是每家 SQL 都可以使用,如 SQL_SERVER 沒有內建這函數、Oracle, DB2 的寫法略有差異。
CURRENT_DATE
各家 SQL 都可以使用此語法,但用法上仍有存在些許差異。
CURRENT_TIMESTAMP
EXTRACT(日期元素 FROM 日期資料)
分為「資料型別」的轉換和「內容值」的轉換
/*CAST(目標欄位或是目標值 AS 欲轉換的型別)*/
/*Example*/
CAST('0015' AS INTEGER)
如果你的欄位中有可能會出現 NULL 的話,那麼 COALESCE 就是好幫手。它並不能幫你修改 NULL 欄位,但可以將讀取到的 NULL 轉成特定值。
COALESCE(data1, data2, data3......)
例如要在 Product 中將 info 為 NULL 的項目以 "null data" 的字串來回傳:
SELECT id, name, COALESCE(info, 'null data') FROM Product;