SQL如何使时间与字符串互相转换?
发布时间:2023-06-19 14:44:22 所属栏目:MySql教程 来源:
导读:这篇文章主要讲解了“SQL中日期与字符串怎么互相转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL中日期与字符串怎么互相转换”吧!
这篇文章主要讲解了“SQL中日期与字符串怎么互相转换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL中日期与字符串怎么互相转换”吧! 一.Oracle日期和字符串互相转换 1.1 日期转字符串 1.1.1 yyyy年mm月dd日hh34時mi分ss秒 手动拼接年月日 select to_char(sysdate, 'yyyy') || '年' || to_char(sysdate, 'mm') || '月' || to_char(sysdate, 'dd') || '日' || ' ' || to_char(sysdate, 'hh34') || '時' || to_char(sysdate, 'mi') || '分' || to_char(sysdate, 'ss') || '秒' from dual 结果 2021年09月08日 1.1.2 yyyy-mm-dd hh34:mi:ss 日期不去掉0,并且以24小时制显示 select to_char(sysdate, 'yyyy-mm-dd hh34:mi:ss') from dual 结果 2021-09-08 11:12:02 1.1.3 yyyyfm-mm-dd hh34:mi:ss 日期去掉0,并且以24小时制显示 select to_char(sysdate, 'yyyyfm-mm-dd hh34: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 yyyymmdd 只显示年月日,没有分隔符 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 hh34: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日期和字符串互相转换 参考资料: 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 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐