2

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

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

问题是如果数字字段有任何其他值(300例如),我需要显示这个值(当然作为字符串)。我试着CONVERT像这样在 else 上放一个

...
else CONVERT(varchar(10),numeric_field)

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

4

1 回答 1

4
SELECT CASE numeric_field
          WHEN 100 THEN 'some string'
          WHEN 200 THEN 'some other string'
          ELSE numeric_field::text
       END AS result
  • 你的陈述不完整,END丢失了。在此处阅读手册。
  • 要将数字字段输出为文本,只需将其转换为 text: numeric_field::text,这是 SQL 标准调用的 Postgres 特定的缩写形式:

    cast (numeric_field AS text)
    
于 2013-03-01T14:21:15.180 回答