SQL中日期与字符串互相转换操作实例
一.Oracle日期和字符串互相转换
1.1 日期转字符串
1.1.1 yyyy年mm月dd日hh24時mi分ss秒
?手动拼接年月日
1 2 3 4 5 6 7 8 9 10 | 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小时制显示
1 2 3 4 | 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小时制显示
1 2 3 4 | select to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss' ) from dual |
结果
2021-9-8 11:21:55
1.1.4 yyyy/mm/dd
?只显示年月日,并且有分隔符
1 2 3 4 | select to_char(sysdate, 'yyyy/mm/dd' ) from dual |
结果
2021/09/08
1.1.5 yyyymmdd
?只显示年月日,没有分隔符
1 2 3 4 | select to_char(sysdate, 'yyyymmdd' ) from dual |
结果
20210908
1.2 字符串转日期
?使用to_date(‘日期’, ‘格式’)函数,具体格式和to_char()中的格式相同
1 2 3 4 | select to_date( '20210908' , 'yyyymmdd' ) from dual |
结果
?2021/09/08 0:00:00
1 2 3 4 | 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
?1 2 | SELECT CONVERT ( varchar (100), GETDATE(), 111) |
结果
2021/09/08
2.1.2 yyyy-mm-dd
?1 2 | SELECT CONVERT ( varchar (100), GETDATE(), 23) |
结果
2021-09-08
2.1.3 yyyymmdd
?1 2 | SELECT CONVERT ( varchar (100), GETDATE(), 112) |
结果
20210908
2.1.4 yyyy-mm-dd hh:mm:ss
?1 2 | SELECT CONVERT ( varchar (100), GETDATE(), 120) |
结果
2021-09-08 12:30:33
2.1.5 yyyy年mm月dd日
?1 2 3 4 | 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
1 2 | SELECT CAST ( '20200908' as datetime) |
结果
?2020/09/08 0:00:00
1 2 | SELECT CAST ( '20200908' as date ) |
结果
?2020/09/08
1 2 | SELECT TRY_CAST( '2021-09-08' as datetime) |
结果
?2021/09/08 0:00:00
1 2 | SELECT TRY_CAST( '2021/09/08 11:21:55' as datetime) |
结果
2021/09/08 11:21:55
三.Mysql日期和字符串互相转换
参考资料: MySQL中日期时间类型与格式化
3.1 日期转字符串
DATE_FORMAT( )函数
3.1.1 yyyy年mm月dd日 hh时ii分ss秒
?1 2 | 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
?1 2 | SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s' ) |
3.2 字符串转日期
?STR_TO_DATE函数
1 2 | SELECT STR_TO_DATE( '2019年01月17日 19时05分05秒' , '%Y年%m月%d日 %H时%i分%s秒' ); |
结果
2019-01-17 19:05:05
总结
到此这篇关于SQL中日期与字符串互相转换操作的文章就介绍到这了,更多相关SQL日期和字符串互相转换内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/feyehong/article/details/120177756
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。