我不能在TSQL中写一些东西
declare @set1 int
declare @set2 int
set @set1=1
set @set2=2
select @set1 < @set2
结果是真的吗?
我知道我可以使用
case when @set<@set then 'true'
但我不能按照上面写的方式做到吗?
答案 0 :(得分:2)
没有; T-SQL
不会将布尔表达式视为数据。同样,您无法将布尔表达式直接分配给bit
字段。
答案 1 :(得分:0)
SQL Server没有“隐含”类型,它是表达式的布尔值。实际上它可以是SQL服务器的任何类型,并且可以说是惯例,表示表达式是.net中的布尔值。
它有一个几乎像boolean的位数据类型,并在客户端代码中直接映射到boolean,并接受true或false作为字符串。
DECLARE @foo bit
SET @foo = 'true' -- = 1