MySQLの2つの列からNULL列ではないを選択しますか?
2つの列からNOTNULL列を選択する方法はたくさんあります。構文は次のとおりです。
ケース1 :IFNULL()関数を使用します。
構文は次のとおりです。
SELECT IFNULL(yourColumnName1,yourColumnName2) as anyVariableName from yourTableName;
ケース2 :coalesce()関数を使用します。
構文は次のとおりです。
SELECT COALESCE(yourColumnName1,yourColumnName2) as anyVariableName from yourTableName;
ケース3: CASEステートメントを使用します。
構文は次のとおりです。
SELECT CASE WHEN yourColumnName1 IS NOT NULL THEN yourColumnName1 ELSE yourColumnName2 END AS anyVariableName FROM yourTableName;
ケース4 :IF()のみを使用してください。
構文は次のとおりです。
SELECT IF (yourColumnName1 ISNULL,yourColumnName2,yourColumnName1) AS NotNULLValue FROM SelectNotNullColumnsDemo;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。
mysql> create table SelectNotNullColumnsDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int -> , -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.86 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。
mysql> insert into SelectNotNullColumnsDemo(Name,Age) values('John',NULL); Query OK, 1 row affected (0.16 sec) mysql> insert into SelectNotNullColumnsDemo(Name,Age) values(NULL,23); Query OK, 1 row affected (0.16 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from SelectNotNullColumnsDemo;
出力は次のとおりです。
+----+------+------+ | Id | Name | Age | +----+------+------+ | 1 | John | NULL | | 2 | NULL | 23 | +----+------+------+ 2 rows in set (0.00 sec)
これは、2つの列からnull以外の値を選択するためのクエリです。
ケース1 :IFNULL()
クエリは次のとおりです。
mysql> select ifnull(Name,Age) as NotNULLValue from SelectNotNullColumnsDemo;
出力は次のとおりです。
+--------------+ | NotNULLValue | +--------------+ | John | | 23 | +--------------+ 2 rows in set (0.00 sec)
ケース2 :合体
クエリは次のとおりです。
mysql> select coalesce(Name,Age) as NotNULLValue from SelectNotNullColumnsDemo;
出力は次のとおりです。
+--------------+ | NotNULLValue | +--------------+ | John | | 23 | +--------------+ 2 rows in set (0.00 sec)
ケース3:ケース
クエリは次のとおりです。
mysql> select case -> when Name is not null then Name else Age -> end as NotNULLValue -> from SelectNotNullColumnsDemo;
出力は次のとおりです。
+--------------+ | NotNULLValue | +--------------+ | John | | 23 | +--------------+ 2 rows in set (0.00 sec)
ケース4 :IF()
クエリは次のとおりです。
mysql> select if(Name is NULL,Age,Name) as NotNULLValue from SelectNotNullColumnsDemo;
出力は次のとおりです。
+--------------+ | NotNULLValue | +--------------+ | John | | 23 | +--------------+ 2 rows in set (0.00 sec)
-
2つの列からすべての列値をカウントし、合計カウントからNULL値を除外するMySQLクエリ?
まずテーブルを作成しましょう- mysql> create table DemoTable1975 ( StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1975 values('John',45); Query OK, 1 r
-
MySQLで選択した値が「0」の場合は別の列から選択しますか?
これには、MySQLでIF()を使用します。構文は次のとおりです- select IF(yourColumnName1=0,yourColumnName2,yourColumnName1) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo30 −> ( −> id int not null auto_increment primary key, −> value int, −> original_value int