SAS в формат временной метки TERADATA - PullRequest
0 голосов
/ 28 мая 2020

Мне нужно преобразовать эти строки кода SAS в Teradata. В частности, новое поле, которое будет создано, отметка времени, происходит от переменной DES_OEA_VALUE varchar (1024), в которой есть даты, такие как '14-JAN-2019' и '31-DEC-2018', но также '095545689090756' или 'a#f34!65+612n2%24n5' или адреса и e cc. e cc.

SELECT 20200528 AS NMR, COD_IBA, CASE WHEN DES_OEA_VALUE IS NOT NULL AND DATEPART(t1.TMS_OST_EXPIRY_ENT - dhms(INPUT(t1.DES_OEA_VALUE,date11.), 0, 0, input('00.00.00.000001', time10.))) <= 365 AND DATEPART(t1.TMS_OST_EXPIRY_ENT - dhms(INPUT( t1.DES_OEA_VALUE,date11.), 0, 0, input('00.00.00.000001', time10.))) > 0 THEN 'B'
    WHEN DES_OEA_VALUE IS NOT NULL AND DATEPART(t1.TMS_OST_EXPIRY_ENT - dhms(INPUT(t1.DES_OEA_VALUE,date11.), 0, 0, input('00.00.00.000001', time10.))) > 365 THEN 'C'
    WHEN DES_OEA_VALUE IS NULL AND DATEPART(t1.TMS_OST_EXPIRY_ENT - t1.TMS_OST_EFFECTIVE) = 0 THEN '99' END AS CASES FROM T1

Я пробовал несколько решений и советов, но результат пока не очень хорош. Это должна быть отметка времени, полученная в результате объединения дат в DES_OEA_VALUE + '00 .00.00 000001 '

Надеюсь, мне помогут

...