
はじめに
今回はNULL、ブランク、スペースの違いについて書かせていただきます。
新卒や未経験の子が区別つかずにごちゃ混ぜになっているのはまだ可愛げがあるけれど、PL・PMレベルの人が平気で半角ブランクとか仕様書に書くから困ったものです。 それでは順番に違いを書いていきます。
NULL
まずNULLは値が定義されていないということです。ブランクでも0でもスペースでもありません。分かりやすく例えるなら「何も存在していない」です。
ブランク
次にブランクです。ブランクは値が存在しないことです。0やスペースも存在していない状態です。プログラム中やSQLの文字列でブランクを表現する場合は""(ダブルクォーテーション2つ)だったり''(シングルクォーテーション2つ)します。NULLとは違って定義されているけれども値は無いということです。なので冒頭に上げた半角ブランクなどというものはこの世に存在しないのです。ブランクを分かりやすく例えるなら「値を入れる箱は存在しているが、中身は無い」状態です。
スペース
最後のスペースはおなじみのものです。空白ともいいますね。プログラム中やSQLの文字列では" "だったり' 'ですね。もちろん値が定義されており、半角、全角も区別します。
最後に
これらの要素は仕様書上でもそうですが、各言語でisBlank関数やisEnpty関数といった判定する関数を使用するときに言語ごとにどのような使用であるかをよく確認した上で使うようにしたほうが良いです。

![[Android]ActionBarにボタン(メニュー)を設置する](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-300x219.jpg)
![[Google Play Console]アップロードできませんでした Android App Bundle は署名されていません。エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/google-play-150x150.jpg)
![[Laravel]name属性の配列要素をoldで取得する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[DB2]ロード後に表スペースにアクセスできない問題について](https://www.yukiiworks.com/wp-content/uploads/2019/03/code1211IMGL1494_TP_V4-150x150.jpg)
![[Docker]different lower_case_table_names settings for server ('1') and data dictionary ('0').エラーでコンテナが起動できない問題について](https://www.yukiiworks.com/wp-content/uploads/2019/08/docker-logo-2-150x150.png)
![[Flutter]iOS実機ビルド時に"iproxy"は、開発元を検証できないため開けません。と表示された場合の対処法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Android]ActionBarにボタン(メニュー)を設置する](https://www.yukiiworks.com/wp-content/uploads/2019/04/android-150x150.jpg)
![[javascript]ブラウザの戻るボタンで戻ってきた時になんらかの処理をする方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/javascript-150x150.png)
![[PHP]local.ERROR: compact(): Undefined variable:エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/php-150x150.jpg)

