sql-server - IF .. SQL 中的 ELSE IF 语句不会打印
问题描述
任何人都知道为什么这不会打印任何东西?
它在一个存储过程中
没有错误消息只是返回空白。
此存储过程中有返回变量 int 的 IIF 语句。
这些变量都是 SELECT COUNT() 查询。
如果我将 PRINT 语句替换为:
选择@countA;或选择@countB;等
IF(@countA > @countB) AND (@countC >= 3 OR @countD >= 3))
BEGIN
PRINT 'YO';
END
ELSE IF(@countA > @countB AND (@countC >= 3 OR @countD >= 3))
BEGIN
PRINT 'YO';
END
ELSE IF(@countE > @countF AND (@countG >= 3 OR @countH >= 3))
BEGIN
PRINT 'YO';
END
ELSE
BEGIN
PRINT 'YO';
END ;
通过更改为变量并选择它而不是打印来修复:
DECLARE @YO varchar(2)
SET @YO = 'YO'
IF(@countA > @countB) AND (@countC >= 3 OR @countD >= 3))
BEGIN
SELECT @YO;
END
ELSE IF(@countA > @countB AND (@countC >= 3 OR @countD >= 3))
BEGIN
SELECT @YO;
END
ELSE IF(@countE > @countF AND (@countG >= 3 OR @countH >= 3))
BEGIN
SELECT @YO;
END
ELSE
BEGIN
SELECT @YO;
END ;
解决方案
推荐阅读
- docker - Docker compose 热重载不适用于 vuejs 应用程序
- ios - 当我们在客户端和服务器之间实现 SSL 固定时,查尔斯或任何中间人看到了什么?
- sql - 有没有办法使用 Visual Studio 进行符合 SQL 标准的查询?
- laravel - 我正在尝试使用 laravel 制作多级类别
- xml - WpAllImport 在导入期间从 xml 行中检索值
- javascript - 比较数组中的相邻元素并选择每对中较小的元素
- php - 如何以 12 小时格式创建 Php Timepicker
- html - 使弹性部分和一般部分宽度相同
- php - 如何在不刷新整个页面的情况下使用 php 刷新属性“内容”?
- datetime - lambda aws 函数中的“解析器必须是字符串或字符流,而不是日期时间”错误 - 无法弄清楚如何修复它