カスタム関数を使用してMySQLで日付を検証する
MySQLで日付を検証するカスタム関数を作成しましょう-
mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.03 sec) mysql> delimiter // mysql> create function isValidDate(actualDate varchar(255)) returns int -> begin -> declare flag int; -> if (select length(date(actualDate)) IS NOT NULL ) then -> set flag = 1; -> else -> set flag = 0; -> end if; -> return flag; -> end -> // Query OK, 0 rows affected (0.11 sec) mysql> delimiter ;
ケース1-
パラメータがnull値の場合、つまり、チェックされる日付が実際の日付ではない場合。 SELECTステートメントを使用して関数を呼び出す-
mysql> select isValidDate(NULL);
これにより、次の出力が生成されます。つまり、日付ではありません-
+-------------------+ | isValidDate(NULL) | +-------------------+ | 0 | +-------------------+ 1 row in set (0.05 sec)
ケース2-
パラメータが実際の日付値の場合。 SELECTステートメントを使用して関数を呼び出す-
mysql> select isValidDate('2019-10-21');
これにより、次の出力が生成されます。つまり、1、実際の日付-
+---------------------------+ | isValidDate('2019-10-21') | +---------------------------+ | 1 | +---------------------------+ 1 row in set (0.00 sec)
-
MySQLの2つの異なる列を使用したカスタムソート?
このためには、CASEステートメントとともにORDERBY句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1610 -> ( -> Marks int, -> Name varchar(20) -> ) ; Query OK, 0 rows affected (0.51 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa
-
date()関数を使用して日付を照合することでMySQLテーブルの列を更新しますか?
以下は、dateをdate()関数と照合し、列を更新するための構文です- update yourTableName set yourColumnName=yourValue where date(yourColumnName)=curdate(); まずテーブルを作成しましょう- mysql> create table DemoTable1816 ( Name varchar(20), JoiningDate datetime