这篇文章主要讲解了“SQL中日期与字符串怎么互相转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL中日期与字符串怎么互相转换”吧!

一.Oracle日期和字符串互相转换1.1 日期转字符串1.1.1 yyyy年mm月dd日hh34時mi分ss秒

手动拼接年月日

selectto_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||to_char(sysdate,'dd')||'日'||''||to_char(sysdate,'hh34')||'時'||to_char(sysdate,'mi')||'分'||to_char(sysdate,'ss')||'秒'fromdual

结果

2021年09月08日

1.1.2 yyyy-mm-dd hh34:mi:ss

日期不去掉0,并且以24小时制显示

selectto_char(sysdate,'yyyy-mm-ddhh34:mi:ss')fromdual

结果

2021-09-08 11:12:02

1.1.3 yyyyfm-mm-dd hh34:mi:ss

日期去掉0,并且以24小时制显示

selectto_char(sysdate,'yyyyfm-mm-ddhh34:mi:ss')fromdual

结果

2021-9-8 11:21:55

1.1.4 yyyy/mm/dd

只显示年月日,并且有分隔符

selectto_char(sysdate,'yyyy/mm/dd')fromdual

结果

2021/09/08

1.1.5 yyyymmdd

只显示年月日,没有分隔符

selectto_char(sysdate,'yyyymmdd')fromdual

结果

20210908

1.2 字符串转日期

使用to_date(‘日期’, ‘格式’)函数,具体格式和to_char()中的格式相同

selectto_date('20210908','yyyymmdd')fromdual

结果

2021/09/08 0:00:00

selectto_date('2021-9-811:21:55','yyyyfm-mm-ddhh34:mi:ss')fromdual

结果

2021/09/08 11:21:55

二. SqlServer日期和字符串互相转换2.1日期转字符串2.1.1 yyyy/mm/dd

SELECTCONVERT(varchar(100),GETDATE(),111)

结果

2021/09/08

2.1.2 yyyy-mm-dd

SELECTCONVERT(varchar(100),GETDATE(),23)

结果

2021-09-08

2.1.3 yyyymmdd

SELECTCONVERT(varchar(100),GETDATE(),112)

结果

20210908

2.1.4 yyyy-mm-dd hh:mm:ss

SELECTCONVERT(varchar(100),GETDATE(),120)

结果

2021-09-08 12:30:33

2.1.5 yyyy年mm月dd日

selectCONVERT(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

SELECTCAST('20200908'asdatetime)

结果

2020/09/08 0:00:00

SELECTCAST('20200908'asdate)

结果

2020/09/08

SELECTTRY_CAST('2021-09-08'asdatetime)

结果

2021/09/08 0:00:00

SELECTTRY_CAST('2021/09/0811:21:55'asdatetime)

结果

2021/09/08 11:21:55

三.Mysql日期和字符串互相转换

参考资料: MySQL中日期时间类型与格式化

3.1 日期转字符串

DATE_FORMAT( )函数

3.1.1 yyyy年mm月dd日 hh时ii分ss秒

SELECTDATE_FORMAT(NOW(),'%Y年%m月%d日%H时%i分%s秒');

结果

2021年09月08日 21时04分59秒

3.1.2 yyyy-mm-dd hh:ii:ss

SELECTDATE_FORMAT(NOW(),'%Y-%m-%d%H:%i:%s')

3.2 字符串转日期

STR_TO_DATE函数

SELECTSTR_TO_DATE('2019年01月17日19时05分05秒','%Y年%m月%d日%H时%i分%s秒');

结果

2019-01-17 19:05:05

感谢各位的阅读,以上就是“SQL中日期与字符串怎么互相转换”的内容了,经过本文的学习后,相信大家对SQL中日期与字符串怎么互相转换这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!