SQL中日期与字符串互相转换操作实例

吾爱主题 阅读:195 2022-11-29 15:48:00 评论:0

一.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.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容