請某人幫忙,我試圖做一個case語句在哪裏這樣的條款---請查看下面案例查詢失敗
SELECT pisca ,
dropbox
FROM Images
WHERE pisca = 'A'
AND dropbox = CASE WHEN dropbox = 1 THEN 'Small'
WHEN dropbox = 2 THEN 'Medium'
WHEN dropbox = 3
OR dropbox = 4 THEN 'Large'
END
查詢,但我正在以下錯誤消息
Msg 245,Level 16,State 1,Line 2 將varchar值'North'轉換爲數據類型int時轉換失敗。
我會很感激任何幫助。由於
我不能直接幫你,但是我發現你首先比較'dropbox'和'int'(在CASE裏面),然後將它映射到'varchar'只是爲了比較這些'varchars'又一次到'dropbox'。 – Dirk
從它似乎像列的DropBox被定義爲字符串,而不是整數的錯誤。確保您在CASE語句中使用的數據類型和值進行比較。 CASE語句的構建也不正確。 –
這個where子句沒有意義。你在說「如果dropbox等於1,看看它是否等於」小「 –