DB2 SQL фиксирует ошибки при форматировании даты - PullRequest
0 голосов
/ 05 апреля 2020

Если я получаю ошибку при преобразовании даты DB2 SQL, какой синтаксис я могу использовать, чтобы зафиксировать / сообщить об ошибке, при этом продолжая работу. Например: записать в файл или журнал или распечатать файл?

пример: TIMESTAMP_FORMAT (CHAR (MYDATE)), где MYDATE = '20200132'

сообщение об ошибке:

 Message . . . . :   Expression not valid using format string specified      
   for TIMESTAMP_FORMAT.                                                     
 Cause . . . . . :   Argument 1 of the TIMESTAMP_FORMAT function can not     
   be interpreted using the format string specified in argument 2 for        
   one of the following reasons:                                             
    -- The string expression is too short or too long.                       
    -- The string expression does not conform to the template specified      
       in the format string.                                                 
    -- Too many digits were specified in the string expression for the       
       corresponding format element in the format string.                    
    -- A value in the string expression is not valid for the                 
       corresponding format element in the format string.                    
 Recovery  . . . :   Specify a valid format string for the function. Try        

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете использовать пользовательскую функцию (UDF) для обработки ошибок преобразования и перехвата.

, возвращая значение NULL, если оно недействительно, или, возможно, для 9999999 -> 9999-12-31.

Вы можете создать или владеть или найти пример кода. Для Db2 для IBM i, в частности, есть библиотека с открытым исходным кодом с именем iDate от Alan Campin, используемая многими.

...