• 締切済み

SQL文で複数列の更新をしたい。

SQL初心者です。 全レコードを対象にNULLが入ってるフィールドを半角スペースに更新したいのですが、SQL文で記述するにはどうしたらいいのでしょうか? 例えば 氏名 住所  電話番号    誕生日   血液型 田中 渋谷  03-1234-1111  NULL    A 佐藤 新宿  NULL      19450412  NULL 鈴木 池袋  03-1234-2222  19700522  B            ↓ 氏名 住所  電話番号    誕生日   血液型 田中 渋谷  03-1234-1111        A 佐藤 新宿          19450412   鈴木 池袋  03-1234-2222  19700522  B こんな感じです。 知恵をお貸しください。よろしくお願いいたします。

みんなの回答

  • gimmick
  • ベストアンサー率49% (134/270)
回答No.3

#2の方の回答ですが、SETは1つでいいと思います。 また、NULLを変換する場合ISNULL()が使えます。 UPDATE 個人情報 SET 電話番号 = ISNULL(電話番号, ' '), 誕生日 = ISNULL(誕生日, ' '), 血液型 = ISNULL(血液型, ' ')

muskch
質問者

お礼

ご回答ありがとうございます。 無事できました。 また質問させていただく事があると思うのでその際はよろしくお願い致します。

  • taku183
  • ベストアンサー率0% (0/7)
回答No.2

これはどうでしょうか? update 個人情報 set 電話番号 = CASE 電話番号 WHEN NULL THEN ' ' ELSE 電話番号 END ,set 誕生日 = CASE 誕生日 WHEN NULL THEN ' ' ELSE 誕生日 END ,set 血液型 = CASE 血液型 WHEN NULL THEN ' ' ELSE 血液型 END ,…

muskch
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなってすみませんでした。 下の方と同じなのですが、 SQLServerのクエリアナライザで実行したところ、 2行目の=付近に・・・というメッセージで実行できませんでした。 無知で申し訳ないのですが、またアドバイスお願いします。

  • kameid
  • ベストアンサー率44% (8/18)
回答No.1

update 個人情報 set 誕生日 = '' where 誕生日 is null; update 個人情報 set 電話番号 = '' where 電話番号 is null; って感じでいいんじゃないでしょうか。

muskch
質問者

お礼

ご回答ありがとうございます。 お礼が遅くなってすみませんでした。 SQLServerのクエリアナライザで実行したところ、 2行目の=付近に・・・というメッセージで実行できませんでした。 無知で申し訳ないのですが、またアドバイスお願いします。