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)
SQL では、IS NULL または IS NOT NULL を除いて、null 値を含むテストは常に false です。WHERE に IS NULL 句を追加する必要があります。
WHERE name = @name
**OR (name IS NULL and @name IS NULL)**
また、次の条件を使用できますISNULL()
SET @Name = NULL;
UPDATE emp SET name='gaurav' WHERE ISNULL(@Name,'XXXXXXX')=ISNULL(Name,'XXXXXXX');
は、 EMP'XXXXXXX'
テーブルに存在できない一意の文字列定数です。
これを試してUPDATE emp SET name = "gaurav" WHERE (@name IS NULL AND name IS NULL)
私のSQL知識によると、変数に保存できNULL
ますが、比較には使用できません
update emp set name="gaurav" where name is Null