我試圖運行一個case語句,並得到主題行錯誤消息。將數據類型varchar轉換爲數字時出錯
SELECT
IndexValue = CONVERT(VARCHAR,
CASE WHEN _608 in ('value1', 'value2')
THEN _688/100
ELSE ''
END)
FROM DB1
- 場_608 datetype = VARCHAR(26)
- 場_688數據類型=十進制(23,10)
我也看了其他問題/答案,不能找到任何答案這個簡單的問題。
那麼有什麼值得不到的呢? –
這只是痛苦的。爲什麼要在varchar列中存儲數字?你在這裏混合了數據類型,這是導致你看不到的性能問題。 –
真正的問題是因爲您有一個具有混合數據類型的案例表達式。當這個值符合你的標準時,你正在做數學運算,否則你試圖使用一個空字符串,它不能被轉換爲數字。 –