不同数据库的格式化日期函数

不同数据库的格式化日期

MySql

1、获取当前时间

select now()

2、日期格式化

# 年--日 时:分:秒
SELECT DATE_FORMAT(now(),'%Y-%m-%d %H:%i:%s')

具体格式参考下面:

格式 描述
%a 缩写星期名 (Sun..Sat)
%b 缩写月名 (Jan..Dec)
%c 月, 数值(0..12)
%D 带有英文前缀的月中的天 (0th, 1st, 2nd, 3rd, …)
%d 一个月里面的某一天, 数值(00..31)
%e 一个月里面的某一天, 数值(0..31)
%f 微妙(000000..999999)
%H 小时(00..23)
%h 小时(01..12)
%I 小时(01..12)
%i 分钟, 数值(00..59)
%j 一年中的某一天 (001..366)
%k 小时(0..23)
%l 小时(1..12)
%M 月名 (January..December)
%m 月份, 数值(00..12)
%p AM or PM
%r 时间, 12-小时(hh:mm:ss AM 或者PM)
%S 秒(00..59)
%s 秒(00..59)
%T 时间, 24-小时(hh:mm:ss)
%W 星期名 (Sunday..Saturday)
%w 周几 (0=Sunday..6=Saturday)
%Y 年, 数值, 4 个数字
%y 年, 数值, 2 个数字

其他格式化相关的函数,具体用法可以自行百度了

# STR_TO_DATE() 字符转日期
STR_TO_DATE('05/23/2023','%m/%d/%Y');

# TIME_FORMAT(),具体格式化参数和DATE_FORMAT大致相似,有细微不同
TIME_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')

Oracle

1、当前时间

select sysdate()

2、日期格式化

#格式化
to_char(sysdate,'yy-mm-dd hh24:mi:ss') 
# 部分参考
Select to_char(sysdate,'YYYY') from dual--取当前时间年部分 
Select to_char(sysdate,'MM') from dual--取当前时间月部分 
Select to_char(sysdate,'DD') from dual--取当前时间日期部分 
Select to_char(sysdate,'HH24') from dual--取当前时间秒小时部分 
Select to_char(sysdate,'mi') from dual--取当前时间分钟部分 
Select to_char(sysdate,'ss') from dual--取当前时间秒部分 
Select to_char(sysdate,'w') from dual--取当前时间是一个月中的第几周(从1日开始算) 
Select to_char(sysdate,'ww') from dual--取当前时间是一年中的第几周(从1.1开始算) 
Select to_char(sysdate,'iw') from dual--取当前时间是一年中的第几周(按实际日历的) 
Select to_char(sysdate,'d') from dual--取当前时间是一周的第几天,从星期天开始,周六结束 
Select to_char(sysdate,'day') from dual --取当前日是星期几,和数据库设置的字符集有关,会输出'Tuesday' 
Select to_char(sysdate,'ddd') from dual --当前日是一年中的第几天

其他格式化相关的函数,具体用法可以自行百度了

#直接截取到 日期的天数
trunc(sysdate) #2023-5-23
#参考案例
1.select trunc(sysdate) from dual  --2023-5-23  今天的日期为2023-5-23
2.select trunc(sysdate, 'mm') from dual  --2023-5-1   返回当月第一天.
3.select trunc(sysdate,'yy') from dual  --2023-1-1       返回当年第一天
4.select trunc(sysdate,'dd') from dual  --2023-5-23    返回当前年月日
5.select trunc(sysdate,'yyyy') from dual  --2023-1-1   返回当年第一天

SQL Server

1、当前时间

select getdate()

2、日期格式化

# CONVERT函数,参数类型实在太多了,记录几个常见的
Select CONVERT(varchar(100), GETDATE(), 11): 23/05/23
Select CONVERT(varchar(100), GETDATE(), 20): 2023-05-23 10:57:47
Select CONVERT(varchar(100), GETDATE(), 23): 2023-05-23
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49

部分参数如下:

100 或者 0	mon dd yyyy hh:miAM (或者 PM)
101	mm/dd/yy
102	yy.mm.dd
103	dd/mm/yy
104	dd.mm.yy
105	dd-mm-yy
106	dd mon yy
107	Mon dd, yy
108	hh:mm:ss
109 或者 9	mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110	mm-dd-yy
111	yy/mm/dd
112	yymmdd
113 或者 13	dd mon yyyy hh:mm:ss:mmm(24h)
114	hh:mi:ss:mmm(24h)
120 或者 20	yyyy-mm-dd hh:mi:ss(24h)
121 或者 21	yyyy-mm-dd hh:mi:ss.mmm(24h)
126	yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130	dd mon yyyy hh:mi:ss:mmmAM
131	dd/mm/yy hh:mi:ss:mmmAM
# format函数
format(getdate(),'yyyy-MM-dd')

# 格式化参数说明
yyyy、MM、dd:表示年、月、日
hh:mm:ss fffffff:表示时、分、秒、毫秒
使用“/”,“-”等作为连接各个部分(part)的分割符号
posted @   谁抢我的胡萝卜  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示