不同数据库的格式化日期函数
不同数据库的格式化日期
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)的分割符号
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库