修复!6429引入的to_char处理interval入参结果有差异

This commit is contained in:
Wang Yuxuan
2024-11-18 15:57:16 +08:00
parent 4cc77b3d02
commit e409549586
3 changed files with 22 additions and 1 deletions

View File

@ -2259,7 +2259,7 @@ static void parse_format(
#define A_FORMAT_INTERVAL_YEAR2 "YY-MM"
#define A_FORMAT_INTERVAL_YEAR3 "YYY-MM"
#define A_FORMAT_INTERVAL_YEAR "YYYY-MM"
#define A_FORMAT_INTERVAL_DAY "DD HH:MI:SS"
#define A_FORMAT_INTERVAL_DAY "DD HH24:MI:SS"
#define POSITIVE_FORMAT(fmt) ("+" fmt)
#define NEGETIVE_FORMAT(fmt) ("-" fmt)

View File

@ -838,6 +838,24 @@ SELECT TO_CHAR(INTERVAL '1 -11:11:11' DAY TO SECOND, 'YYYY-MON-DD');
+01 11:11:11
(1 row)
SELECT TO_CHAR(INTERVAL '1 15h 24m 52s' DAY TO SECOND, 'YYYY-MON-DD');
to_char
--------------
+01 15:24:52
(1 row)
select to_char(interval '15h 24m 52s', 'HH24:MI:SS');
to_char
--------------
+00 15:24:52
(1 row)
SELECT TO_CHAR(INTERVAL '-15h 24m 52s' DAY TO SECOND, 'YYYY-MON-DD');
to_char
--------------
-00 15:24:52
(1 row)
SELECT TO_CHAR(INTERVAL '-11:11:11' DAY TO SECOND, 'YYYY-MON-DD');
to_char
--------------

View File

@ -338,6 +338,9 @@ SELECT TO_CHAR(INTERVAL '123-2' YEAR(4) TO MONTH, 'YYY-MON', 'NLS_DATE_LANGUAGE
SELECT TO_CHAR(INTERVAL '-1-2' YEAR TO MONTH, 'YYY-MON');
SELECT TO_CHAR(INTERVAL '1 11:11:11' DAY TO SECOND, 'YYYY-MON-DD');
SELECT TO_CHAR(INTERVAL '1 -11:11:11' DAY TO SECOND, 'YYYY-MON-DD');
SELECT TO_CHAR(INTERVAL '1 15h 24m 52s' DAY TO SECOND, 'YYYY-MON-DD');
select to_char(interval '15h 24m 52s', 'HH24:MI:SS');
SELECT TO_CHAR(INTERVAL '-15h 24m 52s' DAY TO SECOND, 'YYYY-MON-DD');
SELECT TO_CHAR(INTERVAL '-11:11:11' DAY TO SECOND, 'YYYY-MON-DD');
SELECT TO_CHAR(INTERVAL '-1-2' YEAR TO MONTH, 'YYYY-MON-DD', '') ;
SELECT TO_CHAR(INTERVAL '-1-2' YEAR TO MONTH, '', 'NLS_DATE_LANGUAGE=ENGLISH') ;