SQL中的⽇期和字符串互相转换这⾥写⽬录标题
⼀.Oracle⽇期和字符串互相转换
1.1 ⽇期转字符串
1.1.1 yyyy年mm⽉dd⽇hh24時mi分ss秒
⼿动拼接年⽉⽇
select
to_char(sysdate,'yyyy')||'年'
|| to_char(sysdate,'mm')||'⽉'
|| to_char(sysdate,'dd')||'⽇'
||' '
|| to_char(sysdate,'hh24')||'時'
|| to_char(sysdate,'mi')||'分'
|| to_char(sysdate,'ss')||'秒'
from
dual
结果
2021年09⽉08⽇
1.1.2 yyyy-mm-dd hh24:mi:ss
⽇期不去掉0,并且以24⼩时制显⽰
select
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
from
dual
结果
2021-09-08 11:12:02
1.1.3 yyyyfm-mm-dd hh24:mi:ss
⽇期去掉0,并且以24⼩时制显⽰
select
to_char(sysdate,'yyyyfm-mm-dd hh24:mi:ss')
from
dual
结果
2021-9-8 11:21:55
1.1.4 yyyy/mm/dd
只显⽰年⽉⽇,并且有分隔符
select
to_char(sysdate,'yyyy/mm/dd')
from
dual
结果
2021/09/08
1.1.5 yyyymmddstring转date的方法
只显⽰年⽉⽇,没有分隔符
select
to_char(sysdate,'yyyymmdd')
from
dual
结果
20210908
1.2 字符串转⽇期
使⽤to_date(‘⽇期’, ‘格式’)函数,具体格式和to_char()中的格式相同
select
to_date('20210908','yyyymmdd')
from
dual
结果
2021/09/08 0:00:00
select
to_date('2021-9-8 11:21:55','yyyyfm-mm-dd hh24:mi:ss')
from
dual
结果
2021/09/08 11:21:55
⼆. SqlServer⽇期和字符串互相转换
2.1⽇期转字符串
2.1.1 yyyy/mm/dd
SELECT
CONVERT(varchar(100), GETDATE(),111)
结果
2021/09/08
2.1.2 yyyy-mm-dd
SELECT
CONVERT(varchar(100), GETDATE(),23)
结果
2021-09-08
2.1.3 yyyymmdd
SELECT
CONVERT(varchar(100), GETDATE(),112)
结果
20210908
2.1.4 yyyy-mm-dd hh:mm:ss
SELECT
CONVERT(varchar(100), GETDATE(),120)
结果
2021-09-08 12:30:33
2.1.5 yyyy年mm⽉dd⽇
select
CONVERT(varchar, DATEPART(yy, GETDATE()))+'年'
+CONVERT(varchar, DATEPART(mm, GETDATE()))+'⽉'
+CONVERT(varchar, DATEPART(dd, GETDATE()))+'⽇'
结果
2021年9⽉8⽇
2.2 字符串转⽇期
CAST(‘字符串⽇期’ as ‘数据类型-⼀般为date或者datetime’)
如果字符串⽇期并不是合法的⽇期的话,会报错
TRY_CAST(‘字符串⽇期’ as ‘数据类型-⼀般为date或者datetime’)尝试将字符串⽇期转换为⽇期类型,如果转换失败的话,会返回NULL
SELECT
CAST('20200908'as datetime)
结果
2020/09/08 0:00:00
SELECT
CAST('20200908'as date)
结果
2020/09/08
SELECT
TRY_CAST('2021-09-08'as datetime)
结果
2021/09/08 0:00:00
SELECT
TRY_CAST('2021/09/08 11:21:55'as datetime)
结果
2021/09/08 11:21:55
三.Mysql⽇期和字符串互相转换
参考资料:
3.1 ⽇期转字符串
DATE_FORMAT( )函数
3.1.1 yyyy年mm⽉dd⽇ hh时ii分ss秒
SELECT
DATE_FORMAT(NOW(),'%Y年%m⽉%d⽇ %H时%i分%s秒');
结果
2021年09⽉08⽇ 21时04分59秒
3.1.2 yyyy-mm-dd hh:ii:ss
SELECT
DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')
3.2 字符串转⽇期
STR_TO_DATE函数
SELECT
STR_TO_DATE('2019年01⽉17⽇ 19时05分05秒','%Y年%m⽉%d⽇ %H时%i分%s秒');
结果
2019-01-17 19:05:05
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论