NULL、ブランク、スペースの違いについて

はじめに

今回はNULL、ブランク、スペースの違いについて書かせていただきます。 
新卒や未経験の子が区別つかずにごちゃ混ぜになっているのはまだ可愛げがあるけれど、PL・PMレベルの人が平気で半角ブランクとか仕様書に書くから困ったものです。 それでは順番に違いを書いていきます。 

NULL

まずNULLは値が定義されていないということです。ブランクでも0でもスペースでもありません。分かりやすく例えるなら「何も存在していない」です。

ブランク

次にブランクです。ブランクは値が存在しないことです。0やスペースも存在していない状態です。プログラム中やSQLの文字列でブランクを表現する場合は""(ダブルクォーテーション2つ)だったり''(シングルクォーテーション2つ)します。NULLとは違って定義されているけれども値は無いということです。なので冒頭に上げた半角ブランクなどというものはこの世に存在しないのです。ブランクを分かりやすく例えるなら「値を入れる箱は存在しているが、中身は無い」状態です。

スペース

最後のスペースはおなじみのものです。空白ともいいますね。プログラム中やSQLの文字列では" "だったり' 'ですね。もちろん値が定義されており、半角、全角も区別します。

最後に

これらの要素は仕様書上でもそうですが、各言語でisBlank関数やisEnpty関数といった判定する関数を使用するときに言語ごとにどのような使用であるかをよく確認した上で使うようにしたほうが良いです。 

おすすめの記事