我正在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)