postgreUsing转换对一个ELSE CASE SQL查询



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

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

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

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

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

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,这是Postgres特定的SQL标准调用的简短形式:

    cast (numeric_field AS text)
    

最新更新