TSQL Возврат логического не представляется возможным? - PullRequest
1 голос
/ 17 сентября 2010

Разве я не могу написать что-нибудь на TSQL

declare @set1 int
declare @set2 int
set @set1=1
set @set2=2

select @set1 < @set2

, получив истинное значение в результате?

Я знаю, что могу использовать

case when @set<@set then 'true'

, но не могуя делаю по тому, что написал выше?

Ответы [ 2 ]

2 голосов
/ 17 сентября 2010

Нет;T-SQL не обрабатывает логические выражения как данные.Таким же образом, вы не можете назначить логическое выражение непосредственно полю bit.

0 голосов
/ 17 сентября 2010

SQL Server не имеет «подразумеваемого» типа, который был бы логическим из выражения.В действительности это может быть любой тип SQL-сервера, и, возможно, существует соглашение о том, что выражение является логическим в .net.

Он имеет битовый тип данных, который почти похож на логический, и отображается непосредственно на логический в клиентском коде ипринимает true или false как строки.

DECLARE @foo bit
SET @foo = 'true' -- = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...