sql - 为什么将 nvarchar 变量设置为 null 在此存储过程中不会返回任何内容?

标签 sql sql-server tsql

当@RadioServiceGroup设置为NULL时,我想返回sbi_l_radioservicecodes表中的所有记录,该表大约有120条记录。但是,当我执行以下过程并将 @RadioServiceGroup 设置为 NULL 时,它不会返回任何记录。这是存储过程:

CREATE PROCEDURE [dbo].[GetRadioServiceCodes] 
@RadioServiceGroup nvarchar(1000) = NULL
AS
BEGIN
IF(@RadioServiceGroup = NULL)
    BEGIN
        SELECT rsc.RadioService
        FROM sbi_l_radioservicecodes rsc    
    END
    ELSE
    BEGIN       
        SELECT rsc.RadioService
        FROM sbi_l_radioservicecodes rsc
        WHERE rsc.RadioServiceGroup = @RadioServiceGroup    
    END
END

最佳答案

尝试“IS NULL”而不是“= NULL”

关于sql - 为什么将 nvarchar 变量设置为 null 在此存储过程中不会返回任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/265559/

相关文章:

java - SQL查询速度: multiple queries vs sorting within Java

sql - 在Grails中动态生成SQL查询

MySql ASP.NET Identity 在 Win10 下意外绑定(bind)到 SQL Server

sql - 当我们在 SQL Server 中对文本列进行透视时,为什么要使用 Max 函数?

sql - 对于 SQL,您可以在 WHERE LIKE 子句中使用子查询吗?

sql - 向 Oracle DB 的现有表添加唯一约束的好方法?

sql - 查找不连续时间段 YYYYMM00 的最小和最大日期

sql-server - SQL Server try catch inside a while loop statement..异常后循环会正常继续吗?

c# - 在 C# 和 Asp.net 中使用来自 SQL Server 2008 的 View

SQL 成对自连接