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

2023年 4月 16日 19.9k 0

目录 一.Oracle日期和字符串互相转换 1.1 日期转字符串 1.1.1 yyyy年mm月dd日hh24時mi分ss秒 1.1.2 yyyy-mm-dd hh24:mi:ss 1.1.3 yyyyfm-mm-dd hh24:mi:ss 1.1.4 yyyy/mm/dd 1.1.5 yyyymmdd 1.2 字符串转日期 二. SqlServer日

目录一.Oracle日期和字符串互相转换1.1 日期转字符串1.1.1 yyyy年mm月dd日hh24時mi分ss秒1.1.2 yyyy-mm-dd hh24:mi:ss1.1.3 yyyyfm-mm-dd hh24:mi:ss1.1.4 yyyy/mm/dd1.1.5 yyyymmdd1.2 字符串转日期二. SqlServer日期和字符串互相转换2.1日期转字符串2.1.1 yyyy/mm/dd2.1.2 yyyy-mm-dd2.1.3 yyyymmdd2.1.4 yyyy-mm-dd hh:mm:ss2.1.5 yyyy年mm月dd日2.2 字符串转日期三.Mysql日期和字符串互相转换3.1 日期转字符串3.1.1 yyyy年mm月dd日 hh时ii分ss秒3.1.2 yyyy-mm-dd hh:ii:ss3.2 字符串转日期总结

一.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秒
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

总结

到此这篇关于SQL中日期与字符串互相转换操作的文章就介绍到这了,更多相关SQL日期和字符串互相转换内容请搜索每日运维以前的文章或继续浏览下面的相关文章希望大家以后多多支持每日运维!

【本文转自:韩国服务器 https://www.68idc.cn 复制请保留原URL】

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论