2010-03-05 3 views

ответ

3

Вы можете сортировать-оф сделать это с помощью SQL «ДЕЛУ» заявление, нет?

SELECT CASE mytable.state 
    WHEN 0 THEN 'First' 
    WHEN 1 THEN 'Second' 
    WHEN 2 THEN 'Third' 
    END 
    FROM mytable 
WHERE mytable.id = 1 
+0

Отлично, спасибо. – John

1
SELECT * FROM mytable.id WHERE columns IN ("1","2","3"); 

, если я правильно понял, что вы имели в виду ..

+0

У меня есть целое поле (состояние в приведенном выше примере), которое представляет состояние. Я хотел бы вернуть текстовое представление состояния, а не целочисленное значение. Однако текстовое представление отличается от идентификатора. – John

0

Это действительно глупый способ сделать это. Найдите таблицу поиска и используйте соединение.

0

Вы близки, вам нужны только парсеры.

SELECT (array['one','two','three'])[state] 
FROM mytable 
WHERE id = 1; 

Но как уже говорилось, оператор CASE является стандартным и переносным методом.

Смежные вопросы