MySQLのフィールドが空かnullかを確認しますか?
NULLと空の文字列‘’はどちらもMySQLでは類似していません。フィールドが「」のように空であるかnullであるかを確認するには、ISNULLプロパティなどを使用する必要があります。 CASEステートメントですべての条件を確認できます。構文は次のとおりです。
SELECT *, CASE WHEN yourColumnName =’ ‘ THEN ‘yourMessage1’ WHEN yourColumnName IS NULL THEN ‘yourMessage2’ ELSE CONCAT(yourColumnName ,' is a Name') END AS anyVariableName FROM yourTableName;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。
mysql> create table checkFieldDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.64 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。
mysql> insert into checkFieldDemo(Name) values(NULL); Query OK, 1 row affected (0.17 sec) mysql> insert into checkFieldDemo(Name) values('John'); Query OK, 1 row affected (0.15 sec) mysql> insert into checkFieldDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec) mysql> insert into checkFieldDemo(Name) values(''); Query OK, 1 row affected (0.51 sec) mysql> insert into checkFieldDemo(Name) values('Carol'); Query OK, 1 row affected (0.14 sec) mysql> insert into checkFieldDemo(Name) values(''); Query OK, 1 row affected (0.17 sec) mysql> insert into checkFieldDemo(Name) values(NULL); Query OK, 1 row affected (0.10 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from checkFieldDemo;
出力は次のとおりです。
+----+-------+ | Id | Name | +----+-------+ | 1 | NULL | | 2 | John | | 3 | NULL | | 4 | | | 5 | Carol | | 6 | | | 7 | NULL | +----+-------+ 7 rows in set (0.00 sec)
これは、caseステートメントを使用してフィールドが空またはnullまたは他の何かをチェックするためのクエリです。クエリは次のとおりです。
mysql> select *,case -> when Name='' then 'It is an empty string' -> when Name is null then 'It is a NULL value' -> else concat(Name,' is a Name') -> END as ListOfValues -> from checkFieldDemo;
出力は次のとおりです。
+----+-------+-----------------------+ | Id | Name | ListOfValues | +----+-------+-----------------------+ | 1 | NULL | It is a NULL value | | 2 | John | John is a Name | | 3 | NULL | It is a NULL value | | 4 | | It is an empty string | | 5 | Carol | Carol is a Name | | 6 | | It is an empty string | | 7 | NULL | It is a NULL value | +----+-------+-----------------------+ 7 rows in set (0.00 sec)
-
フィールドを選択し、それがnullの場合は、MySQLで別のフィールドを選択しますか?
これには、COALESCE()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1470 -> ( -> FirstName varchar(20), -> Age int -> ); Query OK, 0 rows affected (0.57 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1470 value
-
MySQLストアドプロシージャでNULLまたは空の変数を確認します
NULLまたは空の変数をチェックするには、IF条件を使用します。ストアドプロシージャを作成しましょう- mysql> delimiter // mysql> create procedure checkingForNullDemo(Name varchar(20)) begin if Name is NULL OR Name='' then select 'Adam Smith'; else