我有以下用於轉換數據的sql查詢,但可以將int的值保存在某個變量中以避免多次轉換?如何在sql查詢中避免多個CAST?
update prospekts set sni_kod = case
when
cast(sni_kod as int) >= 1000 and cast(sni_kod as int) <= 1499
or cast(sni_kod as int) >= 1600 and cast(sni_kod as int) <= 2439
then '1'
when
cast(sni_kod as int) >= 7000 and cast(sni_kod as int) <= 7499
then 'W'
else
sni_kod
end
腳本中還有很多情況,只顯示第一個。除了簡單的文本腳本之外,我無法使用其他任何東西。
更新 使用SQL Server 2000
感謝
安德斯
您在評論中說sni_kod中的值可以是'Q'或'T'。因此CAST無法正常工作。它只會給你一個演員例外。 「將varchar值」Q「轉換爲數據類型int時轉換失敗。」 – 2008-10-30 12:38:17