Изменение SQL-запроса в операторе Select - PullRequest
0 голосов
/ 23 июня 2010

У меня есть сохраненный процесс, который вызывается со страницы asp.net. Поле RecordUpdated возвращает TRUE или FALSE. Мне нужно, чтобы этот столбец возвращал YES (если true) или NO (если false)

Как бы я это сделал?

SET @SQL = 'SELECT RecID, Vendor_Number, Vendor_Name, Invoice_Number, Item_Number, RecordAddDate, RecordUpdated FROM Vendor_Invoice_Log'
SET @SQL = @SQL + ' ORDER BY Item_Number, Vendor_Number
PRINT @SQL

Ответы [ 3 ]

3 голосов
/ 23 июня 2010

Если все, что вы делаете, пытается изменить TRUE на YES и FALSE на NO, вы можете сделать это:

select case 
  when recordupdated = true then 'YES' 
  when recordupdated = false then 'NO' 
end recordupdates ...

Конечно, ваш код фактически не выполняется, поэтому я не уверен, почему выпоказаны строки 2 и 3.

1 голос
/ 23 июня 2010

В ситуациях, когда вам нужно вернуть то или иное что-либо при выполнении SELECT,

CASE
    WHEN true
    THEN YES
    WHEN false
    THEN NO
END AS RecordUpdated

очень полезно.

1 голос
/ 23 июня 2010

Звучит как работа для CASE () ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...