我的表中有记录,其中 Name 列具有 Null 值。我想使用以下查询更新该记录。我的 sql 查询是:
set @Name=NUll;
update emp set name="gaurav" where name=@Name
当我运行此查询时..它不会更新记录..它不会将值Null
与列值进行比较
如何才能做到这一点?
我的表中有记录,其中 Name 列具有 Null 值。我想使用以下查询更新该记录。我的 sql 查询是:
set @Name=NUll;
update emp set name="gaurav" where name=@Name
当我运行此查询时..它不会更新记录..它不会将值Null
与列值进行比较
如何才能做到这一点?
SET @Name = NULL;
UPDATE emp
SET name="gaurav"
WHERE (@Name IS NULL AND name IS NULL)
OR (@Name IS NOT NULL AND name = @Name)
您也可以使用以下条件ISNULL()
SET @Name = NULL;
UPDATE emp SET name='gaurav' WHERE ISNULL(@Name,'XXXXXXX')=ISNULL(Name,'XXXXXXX');
哪里'XXXXXXX'
是 EMP 表中不存在的唯一字符串常量;
除了 IS NULL 或 IS NOT NULL 之外,在 SQL 中使用空值的测试总是错误的。您应该在 WHERE 中添加 IS NULL 子句:
WHERE name = @name
**OR (name IS NULL and @name IS NULL)**
尝试这个UPDATE emp SET name = "gaurav" WHERE (@name IS NULL AND name IS NULL)
根据我的 SQL 知识,您可以存储NULL
在变量中,但不能将其用于比较
update emp set name="gaurav" where name is Null