在ELSE CASE SQL查询上使用转换

时间:2013-03-01 14:17:33

标签: sql postgresql case case-when sql-convert

我在Postgres中执行SQL查询,它选择一个数字字段。我需要显示一个字符串值作为此SELECT的结果,所以我使用这样的CASE语句:

Select 
case numeric_field
when 100 then 'some string'
when 200 then 'some other string'

问题是如果数字字段有任何其他值(例如300),我需要显示该值(当然是一个字符串)。我试着像这样把<{1}}放在其他地方

CONVERT

但它没有用。我该怎么做?

1 个答案:

答案 0 :(得分:4)

SELECT CASE numeric_field
          WHEN 100 THEN 'some string'
          WHEN 200 THEN 'some other string'
          ELSE numeric_field::text
       END AS result
  • 您的陈述不完整,END遗失了。 Read the manual here.
  • 要将数字字段输出为文本,只需将其强制转换为文本:numeric_field::text,这是SQL标准调用的Postgres特定简短形式:

    cast (numeric_field AS text)