0


MySQL/Oracle 的字符串转日期、日期转字符串

目录

MySQL、Oracle 的字符串、日期互转

MySQLOracle字符串转日期STR_TO_DATE(str, format)TO_DATE(string, format)日期转字符串DATE_FORMAT(date, format)TO_CHAR(date, format)

1 字符串转日期

1.1 MySQL 的 字符串转日期:STR_TO_DATE(str, format)

str: 要转换的字符串
format: 日期的格式,‘%Y-%m-%d %H:%i:%s’,‘%Y/%m/%d %H:%i:%s’

日期格式设置 - 或 /,返回的日期都是 -,
最基本的日期格式:‘%Y-%m-%d’、‘%Y/%m/%d’

参考案例:

SELECT STR_TO_DATE('2024-01-10','%Y-%m-%d')FROM TEST1;-- 返回:2024-01-10SELECT STR_TO_DATE('2024-01-10 10','%Y-%m-%d')FROM TEST1;-- 返回:2024-01-10SELECT STR_TO_DATE('2024-01-10 10:10','%Y-%m-%d %H:%i:%s')FROM TEST1;-- 返回:2024-01-10 10:10:00SELECT STR_TO_DATE('2024/01/10','%Y/%m/%d')FROM TEST1;-- 返回:2024-01-10SELECT STR_TO_DATE('2024/01/10','%Y/%m/%d %H:%i:%s')FROM TEST1;-- 返回:2024-01-10 00:00:00SELECT STR_TO_DATE('2024-01','%Y-%m')FROM TEST1;-- 返回:NULLSELECT STR_TO_DATE('2024-01-10','%Y/%m/%d')FROM TEST1;-- 返回:NULL

注意事项:
(1)字符串的日期是 - 或 /,日期格式要设置成一样的,否则会返回空。
(2)必须精确到日,如果日期格式只有年月,则会返回空。
(3)时分秒 是否返回由日期格式控制。

1.2 Oracle 的 字符串转日期:TO_DATE(string, format)

string: 要转换的字符串
format: 日期的格式,
(‘YYYY-MM-DD hh24:MI:SS’、‘YYYY/MM/DD hh24:MI:SS’)

日期格式设置 - 或 /,返回的日期都是 -

参考案例:

SELECT TO_DATE('2024-01-10','YYYY-MM-DD')FROM TEST1;-- 返回:2024-01-10 00:00:00SELECT TO_DATE('2024-01-10 10:10','YYYY-MM-DD hh24:MI:SS')FROM TEST1;-- 返回:2024-01-10 10:10:00SELECT TO_DATE('2024/01/10','YYYY/MM/DD')FROM TEST1;-- 返回:2024-01-10 00:00:00SELECT TO_DATE('2024/01/10','YYYY/MM/DD hh24:MI:SS')FROM TEST1;-- 返回:2024-01-10 00:00:00SELECT TO_DATE('2024','YYYY')FROM TEST1;-- 返回:2024-01-01 00:00:00

注意事项:不管日期格式是否设置到秒,返回的日期都精确到秒。
字符串和日期格式最好匹配一致,日期格式不精确到日也会返回数据,对应的值会是默认的。

2 日期转字符串

2.1 MySQL 的 日期转字符串:DATE_FORMAT(date, format)

date: 要转换的日期
format: 日期的格式,‘%Y-%m-%d %H:%i:%s’,‘%Y/%m/%d %H:%i:%s’

日期格式设置 - 或 /,返回的字符串则是 - 或 /,
最基本的日期格式:‘%Y-%m-%d’、‘%Y/%m/%d’

参考案例:

SELECT DATE_FORMAT('2024-01-10','%Y-%m-%d')FROM TEST1;-- 返回:2024-01-10SELECT DATE_FORMAT('2024-01-10 10:10:10','%Y-%m-%d %H:%i:%s')FROM TEST1;-- 返回:2024-01-10 10:10:10SELECT DATE_FORMAT('2024/01/10','%Y/%m/%d')FROM TEST1;-- 返回:2024/01/10SELECT DATE_FORMAT('2024/01/10','%Y/%m/%d %H:%i:%s')FROM TEST1;-- 返回:2024/01/10 00:00:00SELECT DATE_FORMAT('2024-01','%Y-%m')FROM TEST1;-- 返回:NULLSELECT DATE_FORMAT('2024-01-10','%Y/%m/%d')FROM TEST1;-- 返回:2024/01/10

注意事项:必须精确到日,如果日期格式只有年月,则会返回空。返回的字符串由日期格式控制。

2.2 Oracle 的 日期转字符串:TO_CHAR(date, format)

date: 要转换的日期
format: 日期的格式,
(‘YYYY-MM-DD hh24:MI:SS’、‘YYYY/MM/DD hh24:MI:SS’)

参考案例:

SELECT TO_CHAR(TO_DATE('2024-01-10','YYYY-MM-DD'),'YYYY-MM-DD')FROM TEST1;-- 返回:2024-01-10SELECT TO_CHAR(TO_DATE('2024-01-10 10:10','YYYY-MM-DD hh24:MI'),'YYYY-MM-DD hh24:MI:SS')FROM TEST1;-- 返回:2024-01-10 10:10:00SELECT TO_CHAR(TO_DATE('2024/01/10','YYYY/MM/DD'),'YYYY/MM/DD')FROM TEST1;-- 返回:2024/01/10SELECT TO_CHAR(TO_DATE('2024/01/10','YYYY/MM/DD'),'YYYY/MM/DD hh24:MI:SS')FROM TEST1;-- 返回:2024/01/10 00:00:00SELECT TO_CHAR(TO_DATE('2024','YYYY'),'YYYY')FROM TEST1;-- 返回:2024

注意事项:要转换的日期必须是日期类型,返回的字符串由日期格式控制。

标签: mysql oracle 数据库

本文转载自: https://blog.csdn.net/weixin_42307069/article/details/135511545
版权归原作者 2019一路前行 所有, 如有侵权,请联系我们删除。

“MySQL/Oracle 的字符串转日期、日期转字符串”的评论:

还没有评论