|
845 | 845 | SELECT TO_DATE('20 серпня 2024','DD MONTH YYYY','NLS_DATE_LANGUAGE=UKRAINIAN') AS x FROM DUAL; |
846 | 846 | x |
847 | 847 | 2024-08-20 00:00:00 |
| 848 | +# |
| 849 | +# MDEV-38791: TO_DATE: Inconsistent treatment of duplicate or semantically similar format elements |
| 850 | +# |
| 851 | +SET sql_mode='ORACLE'; |
| 852 | +# Year Family |
| 853 | +SELECT TO_DATE('2001 2001', 'YYYY YYYY') FROM DUAL; |
| 854 | +ERROR HY000: Invalid argument error: date format not recognized at YYYY in function to_date. |
| 855 | +SELECT TO_DATE('2001 001', 'YYYY YYY') FROM DUAL; |
| 856 | +ERROR HY000: Invalid argument error: date format not recognized at YYY in function to_date. |
| 857 | +SELECT TO_DATE('2025 2025', 'YYYY IYYY') FROM DUAL; |
| 858 | +ERROR HY000: Invalid argument error: date format not recognized at IYYY in function to_date. |
| 859 | +SELECT TO_DATE('2025 2025', 'YYYY RRRR') FROM DUAL; |
| 860 | +ERROR HY000: Invalid argument error: date format not recognized at RRRR in function to_date. |
| 861 | +SELECT TO_DATE('2025 25', 'YYYY YY') FROM DUAL; |
| 862 | +ERROR HY000: Invalid argument error: date format not recognized at YY in function to_date. |
| 863 | +SELECT TO_DATE('2025 25', 'IYYY YY') FROM DUAL; |
| 864 | +ERROR HY000: Invalid argument error: date format not recognized at IYYY YY in function to_date. |
| 865 | +SELECT TO_DATE('2025 25', 'RRRR RR') FROM DUAL; |
| 866 | +ERROR HY000: Invalid argument error: date format not recognized at RR in function to_date. |
| 867 | +SELECT TO_DATE('25 25', 'YY RR') FROM DUAL; |
| 868 | +ERROR HY000: Invalid argument error: date format not recognized at RR in function to_date. |
| 869 | +SELECT TO_DATE('025 025', 'YYY IYY') FROM DUAL; |
| 870 | +ERROR HY000: Invalid argument error: date format not recognized at IYY in function to_date. |
| 871 | +SELECT TO_DATE('5 5', 'Y I') FROM DUAL; |
| 872 | +ERROR HY000: Invalid argument error: date format not recognized at I in function to_date. |
| 873 | +# Month Family |
| 874 | +SELECT TO_DATE('February February', 'MONTH MONTH') FROM DUAL; |
| 875 | +ERROR HY000: Invalid argument error: date format not recognized at MONTH in function to_date. |
| 876 | +SELECT TO_DATE('12 12', 'MM MM') FROM DUAL; |
| 877 | +ERROR HY000: Invalid argument error: date format not recognized at MM in function to_date. |
| 878 | +SELECT TO_DATE('Feb February', 'MON MONTH') FROM DUAL; |
| 879 | +ERROR HY000: Invalid argument error: date format not recognized at MONTH in function to_date. |
| 880 | +SELECT TO_DATE('12 Dec', 'MM MON') FROM DUAL; |
| 881 | +ERROR HY000: Invalid argument error: date format not recognized at MON in function to_date. |
| 882 | +SELECT TO_DATE('12 December', 'MM MONTH') FROM DUAL; |
| 883 | +ERROR HY000: Invalid argument error: date format not recognized at MONTH in function to_date. |
| 884 | +SELECT TO_DATE('12 XII', 'MM RM') FROM DUAL; |
| 885 | +ERROR HY000: Invalid argument error: date format not recognized at RM in function to_date. |
| 886 | +SELECT TO_DATE('Dec XII', 'MON RM') FROM DUAL; |
| 887 | +ERROR HY000: Invalid argument error: date format not recognized at RM in function to_date. |
| 888 | +SELECT TO_DATE('December XII', 'MONTH RM') FROM DUAL; |
| 889 | +ERROR HY000: Invalid argument error: date format not recognized at RM in function to_date. |
| 890 | +# Day Family |
| 891 | +SELECT TO_DATE('Monday Mon', 'DAY DY') FROM DUAL; |
| 892 | +ERROR HY000: Invalid argument error: date format not recognized at DY in function to_date. |
| 893 | +SELECT TO_DATE('Mon Mon', 'DY DY') FROM DUAL; |
| 894 | +ERROR HY000: Invalid argument error: date format not recognized at DY in function to_date. |
| 895 | +SELECT TO_DATE('20 20', 'DD DD') FROM DUAL; |
| 896 | +ERROR HY000: Invalid argument error: date format not recognized at DD in function to_date. |
| 897 | +SELECT TO_DATE('Monday 2', 'DAY D') FROM DUAL; |
| 898 | +ERROR HY000: Invalid argument error: date format not recognized at D in function to_date. |
| 899 | +SELECT TO_DATE('Mon 2', 'DY D') FROM DUAL; |
| 900 | +ERROR HY000: Invalid argument error: date format not recognized at D in function to_date. |
| 901 | +SELECT TO_DATE('15 150', 'DD DDD') FROM DUAL; |
| 902 | +ERROR HY000: Invalid argument error: date format not recognized at DDD in function to_date. |
| 903 | +# Others |
| 904 | +SELECT TO_DATE('10 10', 'HH24 HH24') FROM DUAL; |
| 905 | +ERROR HY000: Invalid argument error: date format not recognized at HH24 in function to_date. |
| 906 | +SELECT TO_DATE('30 30', 'MI MI') FROM DUAL; |
| 907 | +ERROR HY000: Invalid argument error: date format not recognized at MI in function to_date. |
| 908 | +SELECT TO_DATE('45 45', 'SS SS') FROM DUAL; |
| 909 | +ERROR HY000: Invalid argument error: date format not recognized at SS in function to_date. |
| 910 | +SELECT TO_DATE('10 10', 'HH HH12') FROM DUAL; |
| 911 | +ERROR HY000: Invalid argument error: date format not recognized at HH12 in function to_date. |
| 912 | +SELECT TO_DATE('10 22', 'HH HH24') FROM DUAL; |
| 913 | +ERROR HY000: Invalid argument error: date format not recognized at HH24 in function to_date. |
| 914 | +SELECT TO_DATE('10 22', 'HH12 HH24') FROM DUAL; |
| 915 | +ERROR HY000: Invalid argument error: date format not recognized at HH24 in function to_date. |
| 916 | +SELECT TO_DATE('AM PM', 'AM PM') FROM DUAL; |
| 917 | +ERROR HY000: Invalid argument error: date format not recognized at PM in function to_date. |
| 918 | +SELECT TO_DATE('A.M. P.M.', 'A.M. P.M.') FROM DUAL; |
| 919 | +ERROR HY000: Invalid argument error: date format not recognized at P.M. in function to_date. |
| 920 | +SELECT TO_DATE('AM A.M.', 'AM A.M.') FROM DUAL; |
| 921 | +ERROR HY000: Invalid argument error: date format not recognized at A.M. in function to_date. |
| 922 | +SELECT TO_DATE('1 2', 'WW IW') FROM DUAL; |
| 923 | +ERROR HY000: Invalid argument error: date format not recognized at WW IW in function to_date. |
| 924 | +SELECT TO_DATE('123 456', 'FF FF') FROM DUAL; |
| 925 | +ERROR HY000: Invalid argument error: date format not recognized at FF in function to_date. |
| 926 | +# YYYY and DDD are compatible (Year + Day of Year) |
| 927 | +SELECT TO_DATE('2026 100', 'YYYY DDD') FROM DUAL; |
| 928 | +TO_DATE('2026 100', 'YYYY DDD') |
| 929 | +2026-04-10 00:00:00 |
| 930 | +# End of 12.3 tests |
0 commit comments