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

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)

  1. 別の日付から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

  2. 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,