Показать сообщение отдельно
Старый 27.11.2007, 11:32   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
На всякий случай напомню, что MS SQL не имеет логического типа данных. Есть битовый тип, который, по сути, является числовым. Поэтому попытка передать на MS SQL значение true или false вызовет ошибку.

Если Вам надо правдободобное объяснение описанного эффекта, то это и может быть объяснением.

Если же Вам надо решение проблемы, то возможно 2 варианта:

1) Никогда не полагаться на автоматическое преобразование типов. Всегда явно указывать нужный тип или также явно конвертировать в нужнуй тип.

2) Строить логические выражение на сравнении со значением false (0 или НЕ 0), поскольку любая опреация с логическими данными именно так и строится: есть или нет значения. А какое именно значение есть, не так уж и важно.