2011-11-30 54 views
0

我有一個字符串字段是格式yyyy-mm-dd。我需要將其轉換爲日期字段。鑄造字符串日期不能在空的字符串在Netezza

這是我的SQL查詢:

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

它正常工作,對於具有值的記錄,但不是爲空字符串

我用to_date函數也嘗試過記錄,但它給出了一個錯誤說「無效日期」

回答

1

檢查下面的查詢。

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

+0

你想要的輸出是什麼? – Teja

+0

嗨Venk, 我之前嘗試過,它給了我一個「無效的日期」錯誤 – pinhead

+0

我正在創建一個表,我需要該字段作爲新表中的日期。 – pinhead

0

Netezza公司不喜歡爲空字符串轉換成日期 - 不同於SQL服務器 - 所以這是很好用的一個case語句爲空字符串轉換爲NULL。試試這個:

select case when field_name = '' then NULL else date(field_name) end as field_name 
from table_name;