我正在尝试使用CASE在单元格是某个整数时返回文本字符串,否则返回原始整数值。
SELECT
CASE WHEN table.column_name = 10 THEN 'yes'
ELSE table.column_name
END
FROM table
我收到错误,“是”是无效的输入语法,因为它是一个字符串,而column_name存储为整数。
答案 0 :(得分:1)
您的CASE返回数字或字符串,但该列必须是精确类型。在下面的示例中,我将输入列转换为字符串。
SELECT
CASE WHEN table.column_name = 10 THEN 'yes'
ELSE to_char(table.column_name, '999')
END AS value
FROM table
结果列将是一个字符串,“是”或“12”,“13”,......