本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了日期与字符串互相转换操作的相关内容,下面一起来看一下,希望对大家有帮助。
推荐学习:《SQL教程》
手动拼接年月日
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日
日期不去掉0,并且以24小时制显示
select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual
结果
2021-09-08 11:12:02
日期去掉0,并且以24小时制显示
select to_char(sysdate, 'yyyyfm-mm-dd hh24:mi:ss') from dual
结果
2021-9-8 11:21:55
只显示年月日,并且有分隔符
select to_char(sysdate, 'yyyy/mm/dd') from dual
结果
2021/09/08
只显示年月日,没有分隔符
select to_char(sysdate, 'yyyymmdd') from dual
结果
20210908
使用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
SELECT CONVERT(varchar (100), GETDATE(), 111)
结果
2021/09/08
SELECT CONVERT(varchar (100), GETDATE(), 23)
结果
2021-09-08
SELECT CONVERT(varchar (100), GETDATE(), 112)
结果
20210908
SELECT CONVERT(varchar (100), GETDATE(), 120)
结果
2021-09-08 12:30:33
select CONVERT(varchar, DATEPART(yy, GETDATE())) + '年' + CONVERT(varchar, DATEPART(mm, GETDATE())) + '月' + CONVERT(varchar, DATEPART(dd, GETDATE())) + '日'
结果
2021年9月8日
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中日期时间类型与格式化
DATE_FORMAT( )函数
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒' );
结果
2021年09月08日 21时04分59秒
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')
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
推荐学习:《SQL教程》
以上是SQL中日期與字串互相轉換操作實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!