MySQL DATE ֆունկցիան՝ վերադարձնելու ընթացիկ ամսաթվի և միացման ամսաթվի միջև եղած տարբերությունը


Սկզբում գտեք ընթացիկ ամսաթիվը և ստացեք տարբերությունը միանալու ամսաթվի և ընթացիկ ամսաթվի միջև՝ օգտագործելով DATEDIFF():

Ընթացիկ ամսաթիվը հետևյալն է.

mysql> select curdate();
+------------+
|  curdate() |
+------------+
| 2019-10-26 |
+------------+
1 row in set (0.00 sec)

Եկեք նախ ստեղծենք աղյուսակ.

mysql> create table DemoTable
   -> (
   -> JoiningDate varchar(40)
   -> );
Query OK, 0 rows affected (0.61 sec)

Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.

mysql> insert into DemoTable values('10/10/1998');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('31/12/2010');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('01/01/2017');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('25/10/2019');
Query OK, 1 row affected (0.14 sec)

Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.

mysql> select *from DemoTable;

Սա կստեղծի հետևյալ արդյունքը.

+-------------+
| JoiningDate |
+-------------+
|  10/10/1998 |
|  31/12/2010 |
|  01/01/2017 |
|  25/10/2019 |
+-------------+
4 rows in set (0.00 sec)

Ահա ընթացիկ և միացման ամսաթվի միջև տարբերությունը վերադարձնելու հարցումը.

mysql> select datediff(curdate(),str_to_date(JoiningDate,'%d/%m/%Y')) from DemoTable;

Սա կստեղծի հետևյալ արդյունքը.

+---------------------------------------------------------+
| datediff(curdate(),str_to_date(JoiningDate,'%d/%m/%Y')) |
+---------------------------------------------------------+
|                                                    7686 |
|                                                    3221 |
|                                                    1028 |
|                                                       1 |
+---------------------------------------------------------+
4 rows in set (0.00 sec)