代码之家  ›  专栏  ›  技术社区  ›  cihadakt

将char列强制转换为varchar值时发生Sql错误

  •  2
  • cihadakt  · 技术社区  · 11 年前

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

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

    我收到以下错误:

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

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

    1 回复  |  直到 11 年前
        1
  •  4
  •   John Woo    11 年前

    你不需要打电话 CAST()

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

    CAST 转换值。您的转换发生在 CASE 陈述