在ELSE-CASE-SQL查询中使用Convert
我正在Postgres中执行SQL查询,它选择一个数字字段。我需要显示一个字符串值作为这个选择的结果,因此我使用了一个在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
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:
,这是特定于Postgres的SQL标准调用的缩写形式:numeric\u field::text
cast (numeric_field AS text)
- 您的陈述不完整,
缺失李>END
- 要将数字字段输出为文本,只需将其转换为text:
,这是特定于Postgres的SQL标准调用的缩写形式:numeric\u field::text
cast (numeric_field AS text)
CONVERT
据我所知,仅在SQL的T-SQL方言中(在MS SQL Server和Sybase中找到)CONVERT
据我所知,仅在SQL的T-SQL方言中(在MS SQL Server和Sybase中找到)非常感谢,我没有为了节省空间而结束:P,但您的解决方案运行得非常好,再次感谢。非常感谢,我没有因为节省空间而结束:P,但是你的解决方案非常有效,再次感谢。