The code is as follows |
Copy Code |
Mysql> SELECT something from table WHERE To_days (now ())-To_days (Date_col) <= 30; DayOfWeek (date) |
Returns the week index of date (1= Sunday, 2 = Monday, ...). 7= Saturday). These index values correspond to ODBC standards.
The code is as follows |
Copy Code |
Mysql> Select DayOfWeek (' 1998-02-03 '); -> 3 |
Weekday (date)
Returns the week index of date (0= Monday, 1 = Tuesday, ...). 6= Sunday).
The code is as follows |
Copy Code |
Mysql> Select Weekday (' 1997-10-04 22:23:00 '); -> 5 Mysql> Select Weekday (' 1997-11-05 '); -> 2 DayOfMonth (date) Returns the date in the month of date, in the range 1 through 31. Mysql> Select DayOfMonth (' 1998-02-03 '); -> 3 DayOfYear (date) Returns the number of days in a year, in the range of 1 to 366. Mysql> Select DayOfYear (' 1998-02-03 '); -> 34 MONTH (date) Returns the month of date, ranging from 1 to 12. Mysql> Select MONTH (' 1998-02-03 '); -> 2 Dayname (date) Returns the name of the week of date. Mysql> Select Dayname ("1998-02-05"); -> ' Thursday ' MonthName (date) Returns the month name of the date. Mysql> Select MonthName ("1998-02-05"); -> ' February ' Quarter (date) Returns the quarter of date one year, ranging from 1 to 4. Mysql> Select quarter (' 98-04-01 '); -> 2 WEEK (date)
WEEK (Date,first) |
For Sunday is the first day of the week, there is a single parameter that returns the week number of date, ranging from 0 to 52. 2 Parameter Form week () allow
Do you specify whether the week starts in Sunday or Monday. If the second argument is 0, the week begins in Sunday, and if the second argument is 1,
Starting from Monday.
The code is as follows |
Copy Code |
Mysql> Select WEEK (' 1998-02-20 '); -> 7 Mysql> Select WEEK (' 1998-02-20 ', 0); -> 7 Mysql> Select WEEK (' 1998-02-20 ', 1); -> 8 Year (date) |
Returns the year of date, ranging from 1000 to 9999.
Mysql> Select year (' 98-02-03 ');
-> 1998
HOUR (Time)
Returns the hour of time, ranging from 0 to 23.
Mysql> Select HOUR (' 10:05:03 ');
-> 10
MINUTE (Time)
Returns the minutes of time, ranging from 0 to 59.
The code is as follows |
Copy Code |
Mysql> Select MINUTE (' 98-02-03 10:05:03 '); -> 5 SECOND (Time) |
The number of seconds to return time, ranging from 0 to 59.
The code is as follows |
Copy Code |
Mysql> Select SECOND (' 10:05:03 '); -> 3 Period_add (P,n) |
Increase n months to phase p (in format Yymm or yyyymm). Returns a value in YYYYMM format. Note that the phase parameter p is not a date value.
The code is as follows |
Copy Code |
Mysql> Select Period_add (9801,2); -> 199803 Period_diff (P1,P2) |
Returns the number of months between periods P1 and P2, P1 and P2 should be in a format yymm or yyyymm. Note that the time parameter P1 and P2 are not date values.
code is as follows |
copy code |
mysql> Select Period_diff (9802,199703); -> 11 Date_add (date,interval expr type) date_sub (date,interval expr type) Adddate (date,interval expr type) |
/tbody>
Subdate (date,interval expr type)
These features perform date operations. For MySQL 3.22, they are new. Adddate () and subdate () are synonyms for Date_add () and Date_sub ().
in MySQL 3.23, you can use + and-instead of Date_add () and Date_sub (). (see example) date is a
datetime or date value that specifies the start date, and expr is an expression that specifies an interval value that is added to the start date or subtracted from the start date, and expr is a string; it can represent a negative interval at the beginning of
One "-". Type is a keyword that indicates how an expression should be interpreted. The EXTRACT (type from date) function returns the "type" interval from the date
. The following table shows how the type and expr parameters are associated: Expr format expected by type value
SECOND sec seconds
MINUTE minutes minutes
HOUR Time HOUR s
Day days
MONTH month months
year years
Minute_second minutes and SEC "Minutes:seconds" & nbsp
Hour_minute hours and minutes "hours:minutes"
Day_hour Day and Hour "days HOURS"
Year_month year and month "Years-months" ;
Hour_second hours, minutes, "HOURS:MINUTES:SECONDS"
Day_minute Day, hour, minute "Days Hours:minutes"
Day_secon D day, hour, minute, second "days HOURS:MINUTES:SECONDS" &NBSP;
MySQL allows any punctuation separator in the expr format. Indicates that the suggested separator is displayed. If the date parameter is a date value and your calculation is only
Contains the year, month, and day sections (that is, there is no time part) and the result is a date value. Otherwise, the result is a datetime value.
The code is as follows |
Copy Code |
mysql> Select "1997-12-31 23:59:59" + INTERVAL 1 SECOND; -> 1998-01-01 00:00:00 mysql> SELECT INTERVAL 1 day + "1997-12-31"; -> 1998-01-01 mysql> Select "1998-01-01"-INTERVAL 1 SECOND; -> 1997-12-31 23:59:59 mysql> SELECT date_add ("1997-12-31 23:59:59", INTERVAL 1 SECOND); -> 1998-01-01 00:00:00 mysql> SELECT date_add ("1997-12-31 23:59:59", INTERVAL 1 day); -> 1998-01-01 23:59:59 mysql> SELECT date_add ("1997-12-31 23:59:59", INTERVAL "1:1" minute_second); -> 1998-01-01 00:01:00 mysql> SELECT date_sub ("1998-01-01 00:00:00", INTERVAL "1 1:1:1" day_second); -> 1997-12-30 22:58:59 mysql> SELECT date_add ("1998-01-01 00:00:00", INTERVAL "-1" day_hour); -> 1997-12-30 14:00:00 mysql> SELECT date_sub ("1998-01-02", INTERVAL); -> 1997-12-02 Mysql> SELECT EXTRACT (year from "1999-07-02"); -> 1999 Mysql> SELECT EXTRACT (year_month from "1999-07-02 01:02:03"); -> 199907 Mysql> SELECT EXTRACT (day_minute from "1999-07-02 01:02:03"); -> 20102 |
If you specify an interval value that is too short (excluding the desired interval for the type keyword), MySQL assumes that you have omitted the leftmost portion of the interval value. For example
If you specify that a type is Day_second, the value expr is expected to have the day, hour, minute, and second portions. If you specify a value like "1:10",
MySQL assumes that the days and hours are partly missing and the values represent minutes and seconds. In other words, the "1:10" Day_second is equivalent to "1:10" Minute_second
Way to explain this to that MySQL explains that the time value represents elapsed times rather than as a day of time two semantic. If you use a date that is not really correct,
The result is null. If you add month, year_month or year and the result date is greater than the maximum number of days for the new month, the day is adjusted with the largest day in the crescent moon.
The code is as follows |
Copy Code |
Mysql> Select Date_add (' 1998-01-30 ', Interval 1 month); -> 1998-02-28 |
Note that from the previous example the words interval and type keywords are not case-sensitive.
To_days (date)
Gives a date dated, returning a number of days (from 0 years).
The code is as follows |
Copy Code |
Mysql> Select To_days (950501); -> 728779 Mysql> Select To_days (' 1997-10-07 '); -> 729669 |
To_days () is not intended to use the value before Gregory (1582) occurs.
From_days (N)
Gives a number of days N, returning a date value.
Mysql> Select From_days (729669);
-> ' 1997-10-07 '
To_days () is not intended to use the value before Gregory (1582) occurs.