sql語法在不同的關聯性資料庫中,大部分語法是相同的。但是,在處理現在日期的部分每個資料庫幾乎都自成一個,所以,本篇文章針對 MSSQL,ORACEL,MYSQL,DB2的取得現在時間的方式做一個總整理。SQL現在時間日期,如下:
原文網址:https://javainsoft.com/sql/sql現在時間日期
Oracle SQL現在時間日期
oracle 取得目前系統的時間
select sysdate from dual;
Oracle 常用之日期格式
日期格式 | 說明 |
YYYY/MM/DD | 年/月/日 |
YYYY | 年(4位) |
YYY | 年(3位) |
YY | 年(2位) |
MM | 月份 |
DD | 日期 |
D | 星期 (星期日 = 1 星期一 = 2 星期二 = 3 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 ) |
DDD | 一年之第幾天 |
WW | 一年之第幾週 |
W | 一月之第幾週 |
YYYY/MM/DD HH24:MI:SS | 年/月/日 時(24小時制):分:秒 |
YYYY/MM/DD HH:MI:SS | 年/月/日 時(非24小時制):分:秒 |
select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; --2022/03/01
select to_char(sysdate,'YYYY') FROM DUAL; --2022
select to_char(sysdate,'YYY') FROM DUAL; --022
select to_char(sysdate,'YY') FROM DUAL; --22
select to_char(sysdate,'MM') FROM DUAL; --03
select to_char(sysdate,'DD') FROM DUAL; --01
select to_char(sysdate,'D') FROM DUAL; --2
select to_char(sysdate,'DDD') FROM DUAL;
select to_char(sysdate,'WW') FROM DUAL;
select to_char(sysdate,'W') FROM DUAL;
select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; --2022/03/01 09:47:18
select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; --2022/03/01 09:47:32
MySQL 現在時間
MySQL取得系統日期: NOW()
select now();
2022-03-01 08:58:00
MySQL常用之日期格式
select date_format(now(),’%y-%m-%d’);
22-03-01
日期格式 | 說明 |
%S, %s | 兩位數字形式的秒( 00,01, …, 59) |
%I, %i | 兩位數字形式的分( 00,01, …, 59) |
%H | 兩位數字形式的小時,24 小時(00,01, …, 23) |
%h | 兩位數字形式的小時,12 小時(01,02, …, 12) |
%k | 數字形式的小時,24 小時(0,1, …, 23) |
%l | 數字形式的小時,12 小時(1, 2, …, 12) |
%T | 24 小時的時間形式(hh:mm:ss) |
%r | 12 小時的時間形式(hh:mm:ss AM 或hh:mm:ss PM) |
%p | AM或PM |
%W | 一週中每一天的名稱(Sunday, Monday, …, Saturday) |
%a | 一週中每一天名稱的縮寫(Sun, Mon, …, Sat) |
%d | 兩位數字表示月中的天數(00, 01,…, 31) |
%e | 數字形式表示月中的天數(1, 2, …, 31) |
%D | 英文字尾表示月中的天數(1st, 2nd, 3rd,…) |
%w | 以數字形式表示週中的天數( 0 = Sunday, 1=Monday, …, 6=Saturday) |
%j | 以三位數字表示年中的天數( 001, 002, …, 366) |
%U | 周(0, 1, 52),其中Sunday 為週中的第一天 |
%u | 周(0, 1, 52),其中Monday 為週中的第一天 |
%M | 月名(January, February, …, December) |
%b | 縮寫的月名( January, February,…., December) |
%m | 兩位數字表示的月份(01, 02, …, 12) |
%c | 數字表示的月份(1, 2, …., 12) |
%Y | 四位數字表示的年份 |
%y | 兩位數字表示的年份 |
MsSQL 現在時間
MsSQL取得現在日期時間
select GETDATE();
2022-03-01 08:58:00.000
MsSQL常用之日期格式
使用 CONVERT() 進行轉換,如下表:
語法 | 結果 |
SELECT CONVERT(varchar(100), GETDATE(), 1); | 03/01/22 |
SELECT CONVERT(varchar(100), GETDATE(), 2); | 22.03.01 |
SELECT CONVERT(varchar(100), GETDATE(), 10); | 03-01-22 |
SELECT CONVERT(varchar(100), GETDATE(), 11); | 22/03/01 |
SELECT CONVERT(varchar(100), GETDATE(), 20); | 2022-03-01 08:58:00 |
SELECT CONVERT(varchar(100), GETDATE(), 22); | 03/01/22 08:58:00 PM |
SELECT CONVERT(varchar(100), GETDATE(), 111); | 2022/03/01 |
SELECT CONVERT(varchar(100), GETDATE(), 112); | 20220301 |
SELECT CONVERT(varchar(100), GETDATE(), 120); | 2022-03-01 08:58:00 |
SELECT CONVERT(varchar(100), GETDATE(), 121); | 2022-03-01 08:58:00.021 |
DB2 現在時間
CURRENT DATE取得現在日期;CURRENT TIME取得現在時間;CURRENT TIMESTAMP取得現在時間戳(含年、月、日、時、分、秒)。
VALUES CURRENT DATE--2022/3/1 0:00:00;
VALUES CURRENT TIME-- 20:50:21;
VALUES CURRENT TIMESTAMP--2022/3/7 20:50:21;
DB2常用之日期格式
SELECT TO_CHAR(CURRENT TIMESTAMP,‘YYYY-MM-DD‘) FROM SYSIBM.DUAL;
--2022-03-01
SELECT TO_CHAR(CURRENT TIMESTAMP,‘YYYY-MM-DD HH:MI:SS‘) FROM SYSIBM.DUAL;
--2022-03-01 07:28:22
SELECT TO_CHAR(CURRENT TIMESTAMP,‘YYYY-MM-DD HH24:MI:SS‘) FROM SYSIBM.DUAL;
--2022-03-01 23:38:13
很有用的資訊 謝謝囉