SQL 使用總結二 ( 不同庫的日期總結)
以下內容都是基於ANSI標準,針對不同的庫可能已經有新的內容,此處僅僅作為參考使用。如有遺漏的也歡迎大家補充!
不同平臺的日期型別
產品 |
資料型別 |
用途 |
Oracle |
DATE |
儲存日期和時間資訊 |
SQL Server |
DATETIME |
儲存日期和時間資訊 |
SMALLDATETIME |
儲存日期和時間資訊,但取值範圍小於DATETIME |
|
DATE |
儲存日期值 |
|
TIME |
儲存日間值 |
|
MySQL |
DATETIME |
儲存日期和時間資訊 |
TIMESTAMP |
儲存日期和時間資訊 |
|
DATE |
儲存日期值 |
|
TIME |
儲存日間值 |
|
YEAR |
單位元組,表示年 |
不同平臺的部分日期函式
產品 |
日期函式 |
用途 |
SQL Server |
DATEPART |
返回日期的某個元素的整數值 |
DATENAME |
返回日期的某個元素的文字值 |
|
GETDATE() |
返回系統日期 |
|
DATEDIFF |
返回兩個日期之間由指定日期元素表示的間隔,如天數,分鐘數和秒數 |
|
DATEADD |
在日期中新增或減去指定的時間間隔 |
|
Oracle |
NEXT_DAT |
返回指定日期之後的下一天(如Friday) |
MONTHS_BETWEEN |
返回兩個日期之間相差的月數 |
|
MySQL |
DAYNAME(date) |
顯示星期幾 |
DAYOFMONTH(date) |
顯示幾日 |
|
DAYOFWEEK(date) |
顯示星期幾 |
|
DAYOFYEAR date) |
顯示一年中的第幾天 |
不同平臺的常見日期元素
產品 |
語法 |
日期元素 |
SQL Server |
yy |
年 |
|
極度 |
|
mm |
月 |
|
dy |
積日(從歷年的第一天累計的天數) |
|
wk |
星期 |
|
dw |
週日 |
|
hh |
小時 |
|
mi |
分鐘 |
|
ss |
秒 |
|
ms |
毫秒 |
|
Oracle |
AD |
公元 |
AM |
正午以前 |
|
BC |
公元前 |
|
CC |
世紀 |
|
D |
星期中的第幾天 |
|
DD |
月份中的第幾天 |
|
DDD |
年中的第幾天 |
|
DAY |
拼寫出來的週日(如MONDAY) |
|
Day |
拼寫出來的週日(如Monday) |
|
Day |
拼寫出來的週日(如monday) |
|
DY |
週日的三個字母縮寫(如MON) |
|
Dy |
週日的三個字母縮寫(如Mon) |
|
dy |
週日的三個字母縮寫(如mon) |
|
HH |
小時 |
|
HH12 |
小時 |
|
HH24 |
小時(24小時制) |
|
J |
自公元前4713年12月31日起至今的日子 |
|
MI |
分鐘數 |
|
MM |
月份 |
|
MON |
月份的三個字母縮寫(如JAN) |
|
Mon |
月份的三個字母縮寫(如Jan) |
|
Mon |
月份的三個字母縮寫(如jan) |
|
MONTH |
月份的拼寫(如JANUARY) |
|
Month |
月份的拼寫(如January) |
|
Month |
月份的拼寫(如january) |
|
PM |
中午之後 |
|
Q |
季度數 |
|
RM |
以羅馬數字表示的月份 |
|
RR |
兩位數字表示的年份 |
|
SS |
秒數 |
|
SSSSS |
自午夜起累計的秒數 |
|
SYYYY |
以符號數表示的年份,如公元前500年就表示-500 |
|
W |
月裡的第幾個星期 |
|
WW |
年裡的第幾個星期 |
|
Y |
年份的最後一位數字 |
|
YY |
年份的最後兩位數字 |
|
YYY |
年份的最後三位數字 |
|
YYYY |
年份 |
|
YEAR |
拼寫出來的年份(如TEN) |
|
Year |
拼寫出來的年份(如Ten) |
|
year |
拼寫出來的年份(如ten) |
|
MySQL |
SECOND |
秒 |
MINUTE |
分鐘 |
|
HOUR |
小時 |
|
DAY |
天 |
|
MONTH |
月 |
|
YEAR |
年 |
|
MINUTE_SECOND |
分和秒 |
|
HOUR_MINUTE |
小時和分 |
|
DAY_HOUR |
天和小時 |
|
YEAR_MONTH |
年和月 |
|
HOUR_SECOND |
小時、分和秒 |
|
DAY_MINUTE |
天和分鐘 |
|
DAY_SECOND |
天和秒 |