Использование Convert для запроса ELSE CASE SQL
Я выполняю SQL-запрос в Postgres, который выбирает числовое поле. Мне нужно отобразить строковое значение в результате этого SELECT, поэтому я использую CASE
утверждение как это:
Select
case numeric_field
when 100 then 'some string'
when 200 then 'some other string'
Проблема в том, что если числовое поле имеет любое другое значение (например, 300
например), мне нужно отобразить это значение (как строку, конечно). Я стараюсь CONVERT
на остальном, как это
...
else CONVERT(varchar(10),numeric_field)
Но это не сработало. Как мне это сделать?
1 ответ
Решение
SELECT CASE numeric_field
WHEN 100 THEN 'some string'
WHEN 200 THEN 'some other string'
ELSE numeric_field::text
END AS result
- Ваше заявление было неполным,
END
скучал. Прочтите руководство здесь. Чтобы вывести числовое поле в виде текста, просто приведите его к тексту:
numeric_field::text
, которая является специфичной для Postgres краткой формой стандартного вызова SQL:cast (numeric_field AS text)