If there is a table product with a field add_time, whose data type is datetime, someone might write the SQL like this: The code is as follows select * from product where add_time = '2013-01-12' For this statement, if the format you store is YY-mm-dd, then it's OK. If the format you store is: 2013-01-12 23:23:56, then you are in trouble. This is the part where you can use the DATE() function to return the date, so this SQL should be processed as follows: The code is as follows select * from product where Date(add_time) = '2013-01-12' Another one, what if you want to query the products added in January 2013? The code is as follows select * from product where date(add_time) between '2013-01-01' and '2013-01-31' You can also write: select * from product where Year(add_time) = 2013 and Month(add_time) = 1 Now you should know the role of MySQL date functions in dealing with date comparison problems, right? Its date_col value is within the last 30 days: The code is as follows mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date) Returns the day of the week index of date (1=Sunday, 2=Monday, ... 7=Saturday). These index values correspond to the ODBC standard. The code is as follows mysql> select DAYOFWEEK('1998-02-03'); -> 3 WEEKDAY(date) Returns the day of the week index of date (0=Monday, 1=Tuesday, ... 6=Sunday). The code is as follows mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY('1997-11-05'); -> 2 DAYOFMONTH(date) Returns the day of the month in date, in the range 1 to 31. The code is as follows mysql> select DAYOFMONTH('1998-02-03'); -> 3 DAYOFYEAR(date) Returns the day of the year for date, in the range 1 to 366. The code is as follows mysql> select DAYOFYEAR('1998-02-03'); -> 34 MONTH(date) Returns the month of date, ranging from 1 to 12. The code is as follows mysql> select MONTH('1998-02-03'); -> 2 DAYNAME(date) Returns the day of the week of date. The code is as follows mysql> select DAYNAME("1998-02-05"); -> 'Thursday' MONTHNAME(date) Returns the name of the month in date. The code is as follows mysql> select MONTHNAME("1998-02-05"); -> 'February' QUARTER(date) Returns the quarter of the year for date, in the range 1 to 4. The code is as follows mysql> select QUARTER('98-04-01'); -> 2 If you want to have a more in-depth and systematic study of MySQL, you can refer to the classic book "MySQL King's Road to Promotion". Summarize The above is the method of comparing dates in MySQL that I introduced to you. I hope it will be helpful to you. If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website! You may also be interested in:
|
<<: A brief discussion of 3 new features worth noting in TypeScript 3.7
>>: Detailed explanation of the best configuration for Nginx to improve security and performance
When we need to change the table name or modify t...
Table of contents npm Install the loader Import P...
Diversifying website layouts is our front-end spe...
Some optimization rules for browser web pages Pag...
1. Basic Specifications (1) InnoDB storage engine...
In languages, macros are often used to implement ...
Hello everyone, today I will share with you the W...
MySQL foreign key constraint (FOREIGN KEY) is a s...
Preface Many years ago, I was a newbie on the ser...
This article example shares the specific code of ...
1. Add a new user Only allow local IP access crea...
Regarding the issue of MySQL remote connection, w...
This article example shares the specific code of ...
Table of contents - Preface - - JVM Class Loader ...
Method 1: Use cmd command First, open our DOS win...