Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Операторы сравнения и тип bit  [new]
Tester0
Guest
BOL 2005 (ноябрь2008)
1) expression > = expression
...
Типы результата
Логическое выражение
2)expression > expression
...
Типы результата
Boolean

Все они не возвращают и не приводятся к bit.

declare @i int, @b bit
select @i = 50, @b = case when @i > 0 then 1 else 0 end--, @b = cast (@i > 0 as bit)

Как кроме кейса решить проблему?

ЗЫ. Кстати BOL 2005 CE говорит, что они возвращают bit. Это действительно так?
23 май 12, 12:52    [12600348]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Tester0,
http://msdn.microsoft.com/en-us/library/ms188074.aspx
Unlike other SQL Server data types, a Boolean data type cannot be specified as the data type of a table column or variable, and cannot be returned in a result set.

получать результат логических выражений придется через case
23 май 12, 13:02    [12600446]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Tester0
Guest
Принято.

А компакт едишен врет? Не возвращает bit я так думаю.
23 май 12, 13:08    [12600510]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Glory
Member

Откуда:
Сообщений: 104751
Tester0
А компакт едишен врет? Не возвращает bit я так думаю.

компакт едишен разве не в SQL2000 ?
Или вы про SQL Server Mobile ?
23 май 12, 13:19    [12600609]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Tester0
Guest
Электронная документация по SQL Server 2005 Compact Edition

>= (Больше или равно) (SQL Server Compact Edition) Отправить отзыв

Сравнивает два выражения. При сравнении двух ненулевых выражений при помощи данного оператора результатом будет TRUE, если значение левого операнда больше или равно значению правого. В противном случае результат — FALSE.

Синтаксис

expression > = expression


Аргументы
expression
Любое допустимое выражение в Microsoft SQL Server 2005 Compact Edition. Оба выражения должны содержать данные неявно преобразуемых типов. Преобразование зависит от правил очередности типов данных.

Типы результатов
bit

Пример
В следующем примере показано использование оператора сравнения "Больше или равно" для поиска в таблице "Сведения о заказе" всех заказов, размеры которых составляют 100 единиц или больше.

Копировать код
SELECT * FROM "Order Details" WHERE Quantity >= '100'
23 май 12, 13:32    [12600757]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Tester0,
Major Error 0x80040E14, Minor Error 25501
> SELECT CAST((1>0) AS bit)
There was an error parsing the query. [ Token line number = 1,Token line offset = 15,Token in error = > ]
23 май 12, 13:36    [12600806]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Tester0
Guest
Это мат от СЕ?
23 май 12, 13:40    [12600852]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Tester0
Это мат от СЕ?


К сообщению приложен файл. Размер - 8Kb
23 май 12, 13:43    [12600888]     Ответить | Цитировать Сообщить модератору
 Re: Операторы сравнения и тип bit  [new]
Tester0
Guest
Вери сэнкс.
Опять хелп... )
23 май 12, 13:45    [12600913]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить