7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SQLServer】空文字のデータを挿入したい

Last updated at Posted at 2022-07-28

1.背景

業務中、上司から下記の指示がありました。

上司「一部のカラムには空文字を入れるINSERT文を作成して。」

私(空文字ってどうやるんやろう?)

・・・ついつい方言が出てしまったので、備忘録としてまとめます。

2.環境

  • windows10 バージョン21H2
  • Microsoft SQLServer Management Studio 18.12.1

3.準備

今回はhoge_DBというテーブルを作成してみました。

idは自動採番、全カラムにNOT NULLをつけて必ず何かしら入れるように設定しています。

NOT NULL制約:NULL(無記入)ではいけない
(→必ずデータが入っていなければならない)

CREATE TABLE hoge_DB(
auto_id int NOT NULL IDENTITY(1,1), -- id(自動採番) 
title nvarchar(100) NOT NULL, -- タイトル
text nvarchar(200) NOT NULL -- テキスト
);

4.入れてみた

今回は、titleとtextに空文字を挿入します。

通常だと、'String'のようにシングルクォーテーションで囲んで挿入します。
シングルクォーテーションのみでやってみましょう・・・

挿入ができました。

INSERT INTO hoge_DB(title,text)VALUES('','');
--(1 行処理されました)

ちなみにダブルクォーテーションで挿入しようとするとエラーになります。

INSERT INTO hoge_DB(title,text)VALUES("","");
--オブジェクト名または列名がないか、空です。SELECT INTO ステートメントの場合は、各列に名前が付いていることを確認してください。その他のステートメントの場合は、空の別名を検索してください。"" または [] として定義された別名は許可されません。別名を有効な名前に変更してください。

Microsoft SQLServer Management Studioでも挿入ができていることを確認できました。
(空文字なのでわかりづらいですね:sweat_smile:

5(おまけ).NULLと空文字の違い

NULLと空文字は別物です。

NULL:データが何もない
空文字:0文字の文字データ

6.参考

1.書籍:ミック, SQLゼロからはじめるデータベース操作, 翔泳社, 2016.
2.SQLにおけるダブルクォーテーションとシングルクォーテーションの使い方
3.null / ヌルとは
4.「NULL」と「空文字」の違い

7.最後に

NULLと空文字が曖昧だったので理解できました。
読んでいただき、ありがとうございました!

7
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?