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

来源:php中文网 | 2022-11-03 17:57:06 |

本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了日期与字符串互相转换操作的相关内容,下面一起来看一下,希望对大家有帮助。

推荐学习:《SQL教程》

一.Oracle日期和字符串互相转换

1.1 日期转字符串

1.1.1 yyyy年mm月dd日hh24時mi分ss秒

手动拼接年月日

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小时制显示

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小时制显示

select  to_char(sysdate, "yyyyfm-mm-dd hh24: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 hh24: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秒

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中日期与字符串互相转换操作实例的详细内容,更多请关注php中文网其它相关文章!

关键词: