bugfix> sql > 投稿

日付時刻オプションを作成し、値が空または空白のときにsqlテーブルに入力しようとしていますが、1900-01-01としてテーブルに入力しています。この値を0ではなくNULLにするSQL文を作成する方法はありますか?

UPDATE animals_table
 SET
   animalname = 'Mary'
   animaltype = 'Husky'
 WHERE
   animalid = '123456'

ケースステートメントについて以前読んでいたのですが、それが正しい方向であるかどうかはわかりません。

UPDATE animals_table
 SET
   animalname = 'Mary'
   animaltype = 'Husky'
 WHERE
   animalid = '123456'
 AND CASE
 WHEN
   dategiven = '1900-01-01'
 THEN
   dategiven = NULL;

回答 1 件
  • これを試してみてください  SQL2008 +

    NULLIF
    
    

    または

    UPDATE animals_table
     SET
       animalname = 'Mary'
       ,animaltype = 'Husky'
     WHERE
       animalid = '123456'
     and  ISNULL(NULLIF(dategiven,'1900-01-01'),'') = ''
    
    
    UPDATE animals_table SET animalname = 'Mary' ,animaltype = 'Husky' WHERE animalid = '123456' and NULLIF(dategiven,'1900-01-01') IS NULL

あなたの答え