将char列转换为varchar值时出现Sql错误

时间:2013-04-12 07:52:26

标签: sql sql-server case

我有一个char(1)列,但我想像这样选择这个列:

SELECT CAST(CASE WHEN [ENABLED] = 'Y' THEN 'Yes' ELSE 'No' END AS EnabledTitle)
FROM [ICS_USERS]

我收到此错误:

将varchar值'Yes'转换为数据类型位时转换失败。

有没有办法在char列中显示varchar值? 感谢

1 个答案:

答案 0 :(得分:4)

您无需致电CAST()

SELECT CASE WHEN [ENABLED] = 'Y' THEN 'Yes' ELSE 'No' END AS EnabledTitle
FROM   [ICS_USERS]

CAST会转换一个值。您的转化发生在CASE声明中。