我正在使用SQL Server 2005.我試圖從TINYINT字段中進行選擇。如果該字段的值爲0,我想選擇一個空字符串,而不是''。字段名稱是級別。下面是我在做什麼:當TINYINT字段條件符合返回字符串時的SELECT CASE
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN ' '
ELSE t.[Level]
END
FROM table t
該代碼總是返回0,我試圖解決該問題,並試圖此:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN 'test'
ELSE t.[Level]
END
FROM table t
而且我得到了一個錯誤Conversion failed when converting the varchar value 'test' to data type tinyint
所以我看到這裏存在轉換問題。我試過了:
SELECT
[Level] =
Case
t.[Level]
WHEN 0 THEN CONVERT(VARCHAR,t.[level])
ELSE t.[Level]
END
FROM table t
但是,這當然仍然返回0,只是字符,所以它仍然沒有做我所需要的。我在想,最有可能有更好的方式來做到這一點,但我不知道如何處理它。誰能給我一些關於如何處理這個問題的建議?非常感謝!