HOME
BLOG
MySQL、Oracle和SQL Server常用日期格式化
May 02 2018
MySQL

使用 DATE_FORMAT() 函数来获取不同的时间格式

1
DATE_FORMAT(date,format)

例如:

1
2
3
4
5
6
7
8
9
-- %T 时间, 24-小时 (hh:mm:ss)
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %T')
-- 2020-12-01 14:37:21
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d')
-- 2020-12-01
SELECT DATE_FORMAT(NOW(),'%Y%m%d')
-- 20201201
SELECT DATE_FORMAT(NOW(),'%d-%m-%Y')
-- 01-12-2020
Oracle

使用TO_DATE()和TO_CHAR()函数来获取不同的时间格式

1
2
TO_DATE(character, format)
TO_CHAR(datetime, format)

例如

1
2
3
4
5
6
7
8
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL
-- 2020-12-01 15:25:54
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL
-- 2020-12-01
SELECT TO_CHAR(SYSDATE,'YYYYMMDD') FROM DUAL
-- 20201201
SELECT TO_CHAR(SYSDATE,'DD-MM-YYYY') FROM DUAL
-- 01-12-2020
SQL Server

使用CONVERT()函数来获取不同的时间格式

1
CONVERT(data_type,expression,style)

例如

1
2
3
4
5
6
7
8
SELECT CONVERT(VARCHAR(100), GETDATE(), 120)
-- 2020-12-01 14:50:26
SELECT CONVERT(VARCHAR(100), GETDATE(), 23)
-- 2020-12-01
SELECT CONVERT(VARCHAR(100), GETDATE(), 112)
-- 20201201
SELECT CONVERT(VARCHAR(100), GETDATE(), 105)
-- 01-12-2020