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)