相关疑难解决方法(0)

如何在SQL SELECT中执行IF ... THEN?

我如何IF...THENSQL SELECT声明中执行?

例如:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server if-statement case

1438
推荐指数
26
解决办法
353万
查看次数

SQL Server:CASE WHEN OREN ELSE END =>不支持OR

OR该在WHEN一个子句CASE语句不支持.我怎样才能做到这一点?

CASE ebv.db_no 
    WHEN 22978 OR 23218 OR 23219 THEN 'WECS 9500' 
    ELSE 'WECS 9520' 
END as wecs_system 
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server case case-when

556
推荐指数
7
解决办法
299万
查看次数

T-SQL如何结束IF-ELSE IF-ELSE块

当我使用正确的参数运行以下过程以便不返回-1值时,我的DML语句都没有被触发.我猜它是把我所有的DML语句当作ELSE块的一部分.

SQL Server 2014

如何结束IF-ELSE-ELSE-IF块?

ALTER PROCEDURE [GenerateNumber] (
    @Code VARCHAR(2)
)
AS
BEGIN
    DECLARE @stringConcat VARCHAR = 'X';

    IF @Code = 'KP'
        SET @stringConcat += 'Y';
    ELSE IF @Code = 'RL'
        SET @stringConcat += 'Z';
    ElSE
        -- Return error code and stop processing
        SELECT -1;
        RETURN;

    BEGIN TRY
        -- Various DML statements...

        SELECT @successValue;
        RETURN;
    END TRY
    BEGIN CATCH
        SELECT -1;
        RETURN;
    END CATCH
END
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

17
推荐指数
3
解决办法
4万
查看次数

我可以有多个选择但只返回一个结果集

如果我有多个这样的选择:

select * from A where A.name = 'linköping'

IF @@ROWCOUNT = 0
begin
    select * from A where A.amount = 45
end
Run Code Online (Sandbox Code Playgroud)

...如果第一个选择返回东西,我得到1个结果集.但如果它运行第二个,我得到两个结果集; 第一个没有行,第二个有一些行.

有没有办法只在第二个选择运行时返回第二个结果集?

我写这样的代码是因为Andrey Gordeev对这篇文章的回答:你能在SQL中使用if-then-else逻辑吗?

(MSSQL 2000)

谢谢!

sql

5
推荐指数
1
解决办法
2129
查看次数

if if条件在sql中

我想编写一个sql查询:

if此查询(select X from table1 where x = 'value1')有结果返回1 else if (select x from table2 where x = 'value2')有任何结果返回2否则返回0.

谢谢

c# sql sql-server

-8
推荐指数
1
解决办法
2849
查看次数

标签 统计

sql ×4

sql-server ×4

t-sql ×3

case ×2

c# ×1

case-when ×1

if-statement ×1