2013-11-02 213 views
0

我是新的SQL,我不能找出我做錯了什麼,我的查詢看起來很邏輯,但它不會將我的INT_VALUE轉換爲VARCHAR_VALUE。我不想使用ALTER導致其需要保持INT值,我想給int值一個名稱。轉換失敗varchar數據類型int

-- BEGIN 

SELECT CAST(CASE WHEN COLUMN_NAME = INT_VALUE THEN 'VARCHAR_VALUE' 
ELSE COLUMN_NAME END)AS VARCHAR(15)) FROM TABLE_NAME 

-- END 

我曾嘗試與CONVERT藏漢但我得到了同樣的錯誤,請解釋原因 我得到這個錯誤導致它看起來很符合邏輯的我。 感謝高級。

+0

「COLUMN_NAME」的數據類型是什麼? – shf301

回答

0

假設column_name是一個int列,你可以這樣做。

Select 
    case column_name 
     when int_value then 'varchar_value' 
     else cast(column_name as varchar(15)) 
    end 
from 
    table_name 

case語句的所有分支必須返回相同的數據類型。

相關問題