MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

カスタム関数を使用して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)

  1. 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

  2. date()関数を使用して日付を照合することでMySQLテーブルの列を更新しますか?

    以下は、dateをdate()関数と照合し、列を更新するための構文です- update yourTableName set yourColumnName=yourValue where date(yourColumnName)=curdate(); まずテーブルを作成しましょう- mysql> create table DemoTable1816      (      Name varchar(20),      JoiningDate datetime