对于任何知道的人来说,这很容易。在 TSQL 存储过程中,如何编写比较布尔值的 if 语句。习惯了 C# 太久了,我把花括号、圆括号和各种各样的东西都放进去了,我想我弄错了。
问问题
72233 次
3 回答
38
DECLARE @bool BIT = 1
IF @bool = 1
BEGIN
-- do stuff here
PRINT 'it was true';
END
ELSE
BEGIN
-- do other stuff here
PRINT 'it was not true';
END
如果您在 if 中只有一行,那么您不需要BEGIN
and END
,但无论如何使用它们可能是一个好习惯。
于 2012-06-18T15:35:09.900 回答
3
boolean对应的sql数据类型是bit,1代表真,0代表假,所以:
IF( @Statement=1)
BEGIN
SELECT COUNT(*) FROM Table
END
ELSE
BEGIN
SELECT MIN(ID) FROM Table
END
END
于 2012-06-18T15:34:07.470 回答
3
从 SQL Server 2012 开始,IIF 是为赋值编写 IF THEN ELSE 的简写方式:
DECLARE @str VARCHAR(10);
SET @str = IIF(1=1, 'Yes', 'No');
于 2018-08-21T12:08:42.777 回答