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

関数を使用してMySQLで日付を計算するにはどうすればよいですか?


MySQLでは、次の関数を使用して日付を計算できます-

  • CURDATE()関数- 基本的に、コンピュータの現在の日付を返します。
  • YEAR()関数- 指定した日付の年を返します。
  • MONTH()関数- 指定した日付の月を返します。
  • DAY()関数- 指定した日付の日を返します。
  • RIGHT()関数- 指定された日付から関数内で指定された文字数を返します。 RIGHT()関数からの戻り値を比較する式の部分は、1または0を評価します。

それを理解するために、「Collegedetail」という名前のテーブルからの次のデータを検討してください-

mysql> Select * from Collegedetail;
+------+---------+------------+
| ID   | Country | Estb       |
+------+---------+------------+
| 111  | INDIA   | 2010-05-01 |
| 130  | INDIA   | 1995-10-25 |
| 139  | USA     | 1994-09-25 |
| 1539 | UK      | 2001-07-23 |
| 1545 | Russia  | 2010-07-30 |
+------+---------+------------+
5 rows in set (0.00 sec)

次のクエリでは、すべての異なる日付関数を使用してDATEを計算しました-

mysql> Select ID, Estb, CURDATE(), YEAR(Estb), MONTH(Estb), DAY(Estb), (RIGHT(CURDATE(),5) < RIGHT(estb,5))As 'Return' FROM Collegedetail;
+------+------------+------------+------------+-------------+-----------+--------+
| ID   | Estb       | CURDATE()  | YEAR(Estb) | MONTH(Estb) | DAY(Estb) | Return |
+------+------------+------------+------------+-------------+-----------+--------+
| 111  | 2010-05-01 | 2017-11-30 | 2010       | 5           | 1         | 0      |
| 130  | 1995-10-25 | 2017-11-30 | 1995       | 10          | 25        | 0      |
| 139  | 1994-09-25 | 2017-11-30 | 1994       | 9           | 25        | 0      |
| 1539 | 2001-07-23 | 2017-11-30 | 2001       | 7           | 23        | 0      |
| 1545 | 2010-07-30 | 2017-11-30 | 2010       | 7           | 30        | 0      |
+------+------------+------------+------------+-------------+-----------+--------+
5 rows in set (0.00 sec)

mysql> Select ID, estb, CURDATE(),((YEAR(CURDATE())-YEAR(estb))-(RIGHT(CURDATE(),5)<RIGHT(estb,5))) AS 'YEARS_OLD' from collegedetail;
+------+------------+------------+-----------+
| ID   | estb       | CURDATE()  | YEARS_OLD |
+------+------------+------------+-----------+
| 111  | 2010-05-01 | 2017-11-30 | 7         |
| 130  | 1995-10-25 | 2017-11-30 | 22        |
| 139  | 1994-09-25 | 2017-11-30 | 23        |
| 1539 | 2001-07-23 | 2017-11-30 | 16        |
| 1545 | 2010-07-30 | 2017-11-30 | 7         |
+------+------------+------------+-----------+
5 rows in set (0.00 sec)

  1. MySQLでテーブルを作成および更新した日付を確認するにはどうすればよいですか?

    MySQLのcreate_timeまたはupdate_timeを使用して、テーブルの作成と更新の正確な日付を取得します。 最初に、SHOWコマンドを使用します。構文は次のとおりです SHOW TABLE STATUS; すでにいくつかのテーブルがあるデータベース「test3」を検討しています mysql> use test3; Database changed 次に、次のクエリを使用して、データベースtest3のすべてのテーブルを表示します mysql> show tables; 以下は出力です +-------------------------+ | Tables_in

  2. MySQLで日付形式を更新するにはどうすればよいですか?

    最初にテーブルを作成しましょう- mysql> create table DemoTable630 (ArrivalDate varchar(100)); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable630 values('2015-21-01'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable630 values('