2014-02-18 40 views
0

我有這個SQL:文本和時間類型中時,那麼聲明

case 
    when var1 is null then 'Some text' 
    when var1 is not null then var2 
end AS [Some_Name], 

VAR1是一個整數,VAR2是一個日期,然後我有這樣的錯誤:「轉換轉換日期和/或TIEM時失敗從

誰做我做這個字符串。是否正確?

回答

1
case 
    when var1 is null  then 'Some text' 
    when var1 is not null then CONVERT(VARCHAR(10), var2, 105) 
end AS [Some_Name] 

在case的case語句返回類型應該是相同的,只是投的日期時間爲VARCHAR數據類型。如果你不這樣做的explic它轉換則SQL Server將嘗試使用數據類型優先這裏定義的規則做一個隱含的情況:BOL

格式化日期時間變量你想要的格式在這裏看到Sql Server Datetime Formats

+0

我要節省「DD- mm-yyyy'格式...我該怎麼做? – ntrx

+0

@ntrx查看更新並查看答案中的鏈接。 –

+0

哦,我沒有看到鏈接。謝謝,它工作 – ntrx