SQL現在時間日期的取得方式

  • Post category:sql

sql語法在不同的關聯性資料庫中,大部分語法是相同的。但是,在處理現在日期的部分每個資料庫幾乎都自成一個,所以,本篇文章針對 MSSQL,ORACEL,MYSQL,DB2的取得現在時間的方式做一個總整理。SQL現在時間日期,如下:

原文網址:https://www.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)
%T24 小時的時間形式(hh:mm:ss)
%r12 小時的時間形式(hh:mm:ss AM 或hh:mm:ss PM)
%pAM或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

This Post Has One Comment

發佈留言