使用CASE查找某个整数并返回一个字符串

时间:2016-06-26 22:45:46

标签: postgresql

我正在尝试使用CASE在单元格是某个整数时返回文本字符串,否则返回原始整数值。

SELECT
  CASE WHEN table.column_name = 10 THEN 'yes'
       ELSE table.column_name
  END
FROM table

我收到错误,“是”是无效的输入语法,因为它是一个字符串,而column_name存储为整数。

1 个答案:

答案 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”,......