MySQLを使用して一連の列でnull値を持つレコードを検索する方法
これには、GREATEST()の概念を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable1862 ( Value1 int, Value2 int, Value3 int, Value4 int ); Query OK, 0 rows affected (0.00 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1862 values(43,34,56,42); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1862 values(NULL,78,65,NULL); Query OK, 1 row affected (0.00 sec) mysql> insert into DemoTable1862 values(110,NULL,78,NULL); Query OK, 1 row affected (0.00 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1862;
これにより、次の出力が生成されます-
+--------+--------+--------+--------+ | Value1 | Value2 | Value3 | Value4 | +--------+--------+--------+--------+ | 43 | 34 | 56 | 42 | | NULL | 78 | 65 | NULL | | 110 | NULL | 78 | NULL | +--------+--------+--------+--------+ 3 rows in set (0.00 sec)>
これは、一連の列でnull値を持つレコードを検索するためのクエリです-
mysql> select * from DemoTable1862 where greatest(Value1,Value2,Value3,Value4) IS NULL;
これにより、次の出力が生成されます-
+--------+--------+--------+--------+ | Value1 | Value2 | Value3 | Value4 | +--------+--------+--------+--------+ | NULL | 78 | 65 | NULL | | 110 | NULL | 78 | NULL | +--------+--------+--------+--------+ 2 rows in set (0.00 sec)>
-
MySQLのNOTNULL値に1を設定します
NOT NULLを設定するには、ISNOTNULLを使用して値を見つけます。構文は次のとおりです- select if('' is not NULL,1,0) as anyAliasName; これが実際のクエリです- mysql> select if('' is not NULL,1,0); これにより、次の出力が生成されます- +------------------------+ | if('' is not NULL,1,0) | +------------------------+ |
-
MySQL:特殊文字を含む値を見つけてNULLに置き換えるにはどうすればよいですか?
これには、次の構文のようにSET yourColumnName=NULLを使用します- update yourTableName set yourColumnName=NULL where yourColumnName=yourValue; まずテーブルを作成しましょう- mysql> create table DemoTable1914 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Code varchar(20) )AUTO_INCR