在ELSE-CASE-SQL查询中使用Convert

在ELSE-CASE-SQL查询中使用Convert,sql,postgresql,case,case-when,sql-convert,Sql,Postgresql,Case,Case When,Sql Convert,我正在Postgres中执行SQL查询,它选择一个数字字段。我需要显示一个字符串值作为这个选择的结果,因此我使用了一个CASE语句,如下所示: Select case numeric_field when 100 then 'some string' when 200 then 'some other string' 问题是,如果数字字段有任何其他值(例如300),我需要显示该值(当然是字符串)。我试着把CONVERT放在像这样的屏幕上 ... else CONVERT(varchar(10

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

Select 
case numeric_field
when 100 then 'some string'
when 200 then 'some other string'
问题是,如果数字字段有任何其他值(例如
300
),我需要显示该值(当然是字符串)。我试着把
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\u field::text
    ,这是特定于Postgres的SQL标准调用的缩写形式:

    cast (numeric_field AS text)
    
  • 您的陈述不完整,
    END
    缺失
  • 要将数字字段输出为文本,只需将其转换为text:
    numeric\u field::text
    ,这是特定于Postgres的SQL标准调用的缩写形式:

    cast (numeric_field AS text)
    

CONVERT
据我所知,仅在SQL的T-SQL方言中(在MS SQL Server和Sybase中找到)
CONVERT
据我所知,仅在SQL的T-SQL方言中(在MS SQL Server和Sybase中找到)非常感谢,我没有为了节省空间而结束:P,但您的解决方案运行得非常好,再次感谢。非常感谢,我没有因为节省空间而结束:P,但是你的解决方案非常有效,再次感谢。