2013-07-11 7 views
17

В выборе запроса я хотел бы показать результат, удовлетворяет ли поле условию.Выберите значение, если условие в SQL Server

Представьте, что у меня есть таблица под названием stock. В этой таблице есть столбец, который сообщает мне количество каждого элемента в запасе.

То, что я хотел бы сделать что-то вроде этого:

SELECT 
    stock.name, IF (stock.quantity <20, "Buy urgent", "There is enough") 
FROM stock 

Есть ли функция в SQL Server, чтобы сделать это?

ответ

42

Попробуйте Case

SELECT stock.name, 
     CASE 
     WHEN stock.quantity <20 THEN 'Buy urgent' 
     ELSE 'There is enough' 
     END 
FROM stock 
+0

Я буду использовать это, но кажется таким позором, что нужно делать это, когда все, что я хочу, является логическим значением. не могу понять, почему mssql не позволяет мне делать »select (stock.quantity <20) Как booleanValue« –

+1

@JoshuaDuxbury Если вы хотите логическое значение, вы можете попробовать что-то вроде http://stackoverflow.com/a/7778500/ 2246380 – Ram

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