MySQL IFNULL()関数とNULLIF()関数をどのように区別できますか?
実際、MySQL IFNULL()関数とNULLIF()関数はどちらも、以下に示すものとほぼ同じ構文を持っています-
IFNULL(expression1, expression2)
NULLIF(expression1, expression2)
結果として最初の引数を返す方法で区別できます。 IFNULL()関数は、NULLでない場合は結果として最初の引数を返し、NULLIF()関数は、両方の引数が同じでない場合は結果として最初の引数を返します。
mysql> Select IFNULL('Ram','Shyam'); +-----------------------+ | IFNULL('Ram','Shyam') | +-----------------------+ | Ram | +-----------------------+ 1 row in set (0.00 sec) mysql> Select NULLIF('Ram','Shyam'); +-----------------------+ | NULLIF('Ram','Shyam') | +-----------------------+ | Ram | +-----------------------+ 1 row in set (0.00 sec)
上記の両方の関数の結果セットから、それらは類似しているように見えますが、IFNULL()関数は、最初の引数であり、NULLではないため、「Ram」を返します。一方、NULLIF()関数は、最初の引数であり、2番目の引数とは異なるため、「Ram」を返します。
-
TODAYとTODAY-7の間の日付を取得するにはどうすればよいですか?」
日付間の日付を取得するには、を使用する必要があります。ここでは、今日から今日までの日付を取得しています-7日- select *from yourTableName where DATE(yourColumnName) > (NOW() - INTERVAL 7 DAY); 注:現在の日付が「2019-06-02」であるとします。最初にテーブルを作成しましょう。 mysql> create table DemoTable ( LoginDate date ); Query OK, 0 rows affe
-
MySQLで生年月日が1980年から1996年の間であるユーザーの割合をどのように見つけることができますか?
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> DateOfBirth varchar(100) -> ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019/01/31'); Query OK, 1 row affected (0.19