一.Oracle日期和字符串互相转换
1.1日期转字符串
1.1.1yyyy年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.2yyyy-mm-ddhh24:mi:ss
日期不去掉0,并且以24小时制显示
select
to_char(sysdate,'yyyy-mm-ddhh24:mi:ss')
from
dual
结果
2021-09-0811:12:02
1.1.3yyyyfm-mm-ddhh24:mi:ss
日期去掉0,并且以24小时制显示
select
to_char(sysdate,'yyyyfm-mm-ddhh24:mi:ss')
from
dual
结果
2021-9-811:21:55
1.1.4yyyy/mm/dd
只显示年月日,并且有分隔符
select
to_char(sysdate,'yyyy/mm/dd')
from
dual
结果
2021/09/08
1.1.5yyyymmdd
只显示年月日,没有分隔符
select
to_char(sysdate,'yyyymmdd')
from
dual
结果
20210908
1.2字符串转日期
使用to_date(‘日期’,‘格式’)函数,具体格式和to_char()中的格式相同
select
to_date('20210908','yyyymmdd')
from
dual
结果
2021/09/080:00:00
select
to_date('2021-9-811:21:55','yyyyfm-mm-ddhh24:mi:ss')
from
dual
结果
2021/09/0811:21:55
二.SqlServer日期和字符串互相转换
2.1日期转字符串
2.1.1yyyy/mm/dd
SELECT
CONVERT(varchar(100),GETDATE(),111)
结果
2021/09/08
2.1.2yyyy-mm-dd
SELECT
CONVERT(varchar(100),GETDATE(),23)
结果
2021-09-08
2.1.3yyyymmdd
SELECT
CONVERT(varchar(100),GETDATE(),112)
结果
20210908
2.1.4yyyy-mm-ddhh:mm:ss
SELECT
CONVERT(varchar(100),GETDATE(),120)
结果
2021-09-0812:30:33
2.1.5yyyy年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'asdatetime)
结果
2020/09/080:00:00
SELECT
CAST('20200908'asdate)
结果
2020/09/08
SELECT
TRY_CAST('2021-09-08'asdatetime)
结果
2021/09/080:00:00
SELECT
TRY_CAST('2021/09/0811:21:55'asdatetime)
结果
2021/09/0811:21:55
三.Mysql日期和字符串互相转换
参考资料:MySQL中日期时间类型与格式化
3.1日期转字符串
DATE_FORMAT()函数
3.1.1yyyy年mm月dd日hh时ii分ss秒
SELECT
DATE_FORMAT(NOW(),'%Y年%m月%d日%H时%i分%s秒');
结果
2021年09月08日21时04分59秒
3.1.2yyyy-mm-ddhh: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-1719:05:05
|