MySQLで指定された生年月日から年齢を計算しますか?
生年月日からMySQLの年齢を計算するには、次の構文を使用できます-
SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(yourColumnName) - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(yourColumnName, 5)) as anyVariableName from yourTableName;
上記の概念を理解するために、テーブルを作成しましょう。以下は、テーブルを作成するためのクエリです。
mysql> create table AgeCalculatesDemo −> ( −> YourDateOfBirth datetime −> ); Query OK, 0 rows affected (0.50 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。これらのレコードは、年齢を計算するためのDOBです。以下はクエリです-
mysql> insert into AgeCalculatesDemo values(date_add(now(),interval 22 year)); Query OK, 1 row affected (0.23 sec) mysql> truncate table AgeCalculatesDemo; Query OK, 0 rows affected (0.89 sec) mysql> insert into AgeCalculatesDemo values(date_add(now(),interval -22 year)); Query OK, 1 row affected (0.16 sec) mysql> insert into AgeCalculatesDemo values(date_add(now(),interval -12 year)); Query OK, 1 row affected (0.18 sec) mysql> insert into AgeCalculatesDemo values(date_add(now(),interval -19 year)); Query OK, 1 row affected (0.15 sec) mysql> insert into AgeCalculatesDemo values('2010-4-05'); Query OK, 1 row affected (0.25 sec)
これで、selectステートメントを使用してすべてのレコードを表示できます。以下はクエリです-
mysql> select *from AgeCalculatesDemo;
以下は出力です-
+---------------------+ | YourDateOfBirth | +---------------------+ | 1996-12-06 23:35:26 | | 2006-12-06 23:35:32 | | 1999-12-06 23:35:42 | | 2010-04-05 00:00:00 | +---------------------+ 4 rows in set (0.00 sec)
年齢の計算に使用できるクエリは次のとおりです。
mysql> SELECT YEAR(CURRENT_TIMESTAMP) - YEAR(YourDateOfBirth) −> - (RIGHT(CURRENT_TIMESTAMP, 5) < RIGHT(YourDateOfBirth, 5)) as YourAge −> from AgeCalculatesDemo;
以下は年齢を表示する出力です-
+---------+ | YourAge | +---------+ | 22 | | 12 | | 19 | | 8 | +---------+ 4 rows in set (0.00 sec)
-
別の日付から30日より古い日付を削除するMySQLクエリ?
以下は構文です- delete from yourTableName where yourColumnName < (yourAnotherDateValue - INTERVAL 30 DAY);を削除します。 まずテーブルを作成しましょう- mysql> create table DemoTable ( DueDate date ); Query OK, 0 rows affected (0.68 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable value
-
00:00から今日の日付までの日付を選択するMySQLクエリ
現在の日付が2019-09-148:50:10だとします。ここで、00:00から2019-09-148:50:10までのレコードが必要です。例を見て、テーブルを作成しましょう- mysql> create table DemoTable ( DueDate datetime ); Query OK, 0 rows affected (0.66 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-09-14'); Query OK,