на данный момент не работает на пустых строках в Netezza - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть строковое поле в формате yyyy-mm-dd.Мне нужно преобразовать его в поле даты.

Это мой запрос SQL:

select cast(rpad(trim(field_name),10,' ') as date) as field_name
from table_name

Он отлично работает для записей, которые имеют значения, но не для записей, которые являются пустыми строками

Я также пытался использовать функцию to_date, но она выдает ошибку «Неверная дата»

Ответы [ 2 ]

1 голос
/ 17 мая 2013

Netezza не любит преобразовывать пустую строку в дату - в отличие от SQL Server - поэтому хорошо использовать оператор case для преобразования пустой строки в ноль.Попробуйте это:

select case when field_name = '' then NULL else date(field_name) end as field_name
from table_name;
1 голос
/ 01 декабря 2011

Проверьте следующий запрос.

SELECT TRIM(LEADING 0 FROM CAST("YourStringColumn" AS DATE))

...