Giu*_*olo 33 sql t-sql sql-server-2008
我正在努力做一些非常简单的事情.我正在尝试将布尔表达式的结果赋给BIT变量.
基本上我想做的事情如下:
DECLARE @is_search_term_empty BIT
SET @is_search_term_empty = (@search_term = '')
Run Code Online (Sandbox Code Playgroud)
这里@search_term是NVARCHAR(128)宣布在代码中的其他地方.
我无法弄清楚评估某些东西并将其分配给BIT变量的语法,即:
SET @is_search_term_empty = (1 > 2)
Run Code Online (Sandbox Code Playgroud)
谢谢.
Mit*_*eat 28
您可以使用以下CASE声明执行此操作:
DECLARE @bitvar BIT
DECLARE @search_term varchar(128)
set @search_term = 'abc'
SET @bitvar = CASE
WHEN (@search_term = 'abc') THEN 1
ELSE 0
END
select @bitvar
Run Code Online (Sandbox Code Playgroud)
从SQL 2012开始,您现在可以使用IIf()函数.你的例子现在看起来像;
DECLARE @is_search_term_empty BIT = IIf(@search_term = '', 1, 0);
Run Code Online (Sandbox Code Playgroud)
这本质上仍然是一个CASE声明,但更容易消化.
| 归档时间: |
|
| 查看次数: |
12376 次 |
| 最近记录: |