MySQL IN()関数がNULLを返す場合?
MySQL IN()関数が結果としてNULLを返す2つのケース-
IN()関数は、左側の式がNULLの場合、NULLを返します。次の例はそれを示します-
mysql> Select NULL IN (1,2,3,4,10); +----------------------+ | NULL IN (1,2,3,4,10) | +----------------------+ | NULL | +----------------------+ 1 row in set (0.00 sec)
IN()関数は、一致するものが見つからず、リスト内の式の1つがNULLの場合、NULLを返します。一致するものがあり、リスト内の式の1つがNULLの場合、出力として1が返されます。次の例はそれを示します-
mysql> Select 10 IN (NULL,11,12); +--------------------+ | 10 IN (NULL,11,12) | +--------------------+ | NULL | +--------------------+ 1 row in set (0.00 sec) mysql> Select 10 IN (NULL,11,12,10); +-----------------------+ | 10 IN (NULL,11,12,10) | +-----------------------+ | 1 | +-----------------------+ 1 row in set (0.00 sec)
-
MySQLで入力がnullの場合、date_formatにnullを返しますか?
MySQLで入力がnullの場合、IF()関数を使用してdate_formatにnullを返します。構文は次のとおりです- SELECT IF(yourDateColumnName,date_format(yourDateColumnName, '%d/%m/%Y'),NULL) FROM yourTableName; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table returnNullWhenInputIsNullDemo -> ( &nbs
-
MySQLでレコードがNULLの場合、新しい列に0を返しますか?
このために、CASEステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable703 (Price int); Query OK, 0 rows affected (0.46 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable703 values(102); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable703 values(null); Query