Как получить символ для логического поля в SQL 2005 - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь получить данные из версии SQL Server 2005 года. Программа, которая вызывает хранимую процедуру при заполнении сетки данных в VB 2008. Одно из возвращающихся полей - это логическое поле. Я связываю сетку с данными, но не хочу логическое значение. Я хочу вернуться с Y для истинного и N для ложного. Булево поле в приведенном ниже запросе является полем инвентарь.актив

    SELECT      inventory.inventory_id, equipment.description, 
            inventory.sale_date, 
            inventory.warranty_date, inventory.extended_warranty_date, 
            inventory.location,inventory.serial_number, inventory.IP_address, inventory.printer_name,  inventory.active 

Я пробовал iif (инвентарь.акт, 'Y', 'N'), но не принимает его при попытке исключить Sproc.

Какой правильный синтаксис для этого. Я также попытался сделать заявление, но безуспешно.

1 Ответ

3 голосов
/ 15 октября 2019

Нет типа данных boolean в SQL Server;номера некоторого вида часто используются. Предположительно, вы хотите выражение case. Я бы предположил:

(case when inventory.active = 1 then 'Y' else 'N' end)

Хотя это не имеет отношения к вашему вопросу, вам следует перейти на поддерживаемую версию SQL Server. SQL Server 2005 - это годы после конца его жизни.

...