MySQL函数,是一种控制流程函数,属于数据库用语言。
MySQL数据库中提供了很丰富的函数。MySQL函数包括数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数等。通过这些函数,可以简化用户的操作。
日期和时间函数-函数概述
日期和时间函数是MySQL中常用的一类函数。主要用于处理日期时间。
日期和时间函数-curdate
CURDATE()或CURRENT_DATE():返回当前日期
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mysql> select curdate(); + | curdate() | + | 2012-01-13 | + 1 行于数据集 (0.01 秒)
mysql> select current_date(); + | current_date() | + | 2012-01-13 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-curtime
CURTIME()或CURRENT_TIME():返回当前时间
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mysql> select curtime(); + | curtime() | + | 03:01:16 | + 1 行于数据集 (0.01 秒)
mysql> select current_time(); + | current_time() | + | 03:01:26 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-now
NOW():返回当前日期时间
1 2 3 4 5 6 7
| mysql> select now(); + | now() | + | 2012-01-13 09:25:37 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-month
MONTH(date)或MONTHNAME(date):返回date的月份,范围1到12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mysql> select month(now()); + | month(now()) | + | 2 | + 1 行于数据集 (0.01 秒)
mysql> select monthname(now()); + | monthname(now()) | + | February | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-week
WEEK(date):从日期中选择出周数
1 2 3 4 5 6 7
| mysql> select week(now()); + | week(now()) | + | 7 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-year
YEAR(date):从日期中选择出年份
1 2 3 4 5 6 7
| mysql> select year(now()); + | year(now()) | + | 2012 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-hour
HOUR(date):从日期中选择出小时数,返回time的小时,范围是0到23。
1 2 3 4 5 6 7
| mysql> select hour(now()); + | hour(now()) | + | 3 | + 1 行于数据集 (0.02 秒)
|
日期和时间函数-minute
MINUTE():从日期中选择出分钟数,范围是0到59。
1 2 3 4 5 6 7
| mysql> select minute(now()); + | minute(now()) | + | 12 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-second
SECOND(time):回来time的秒数,范围是0到59。
1 2 3 4 5 6 7
| mysql> select second(now()); + | second(now()) | + | 41 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-weekday
WEEKDAY(date)或DAYNAME(date):返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mysql> select weekday(now()); + | weekday(now()) | + | 0 | + 1 行于数据集 (0.01 秒)
mysql> select dayname(now()); + | dayname(now()) | + | Monday | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-dayofweek
DAYOFWEEK(date):返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)。
1 2 3 4 5 6 7
| mysql> select dayofweek(now()); + | dayofweek(now()) | + | 2 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-dayofmonth
DAYOFMONTH(date):返回date的月份中的日期,在1到31范围内。
1 2 3 4 5 6 7
| mysql> select dayofmonth(now()); + | dayofmonth(now()) | + | 17 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-dayofyear
DAYOFYEAR(date):返回date在一年中的日数, 在1到366范围内。
1 2 3 4 5 6 7
| mysql> select dayofyear(now()); + | dayofyear(now()) | + | 48 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-quarter
QUARTER(date):返回date一年中的季度,范围1到4。
1 2 3 4 5 6 7
| mysql> select quarter(now()); + | quarter(now()) | + | 1 | + 1 行于数据集 (0.02 秒)
|
日期和时间函数-date_add
DATE_ADD(date,INTERVAL expr type) ,进行日期增加的操作,可以精确到秒
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| mysql> select '1997-12-31 23:59:59'+interval 1 second; + | '1997-12-31 23:59:59'+interval 1 second | + | 1998-01-01 00:00:00 | + 1 行于数据集 (0.01 秒)
mysql> select '1997-12-31'+interval 1 second; + | '1997-12-31'+interval 1 second | + | 1997-12-31 00:00:01 | + 1 行于数据集 (0.02 秒) mysql> select date_add('1997-12-31 23:59:59',interval 1 second); + | date_add('1997-12-31 23:59:59',interval 1 second) | + | 1998-01-01 00:00:00 | + 1 行于数据集 (0.01 秒)
mysql> select date_add('1997-12-31 23:59:59',interval '1:1' minute_second); + | date_add('1997-12-31 23:59:59',interval '1:1' minute_second) | + | 1998-01-01 00:01:00 | + 1 行于数据集 (0.01 秒)
|
日期和时间函数-date_sub
DATE_SUB(date,INTERVAL expr type) ,进行日期减少的操作,可以精确到秒
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| mysql> select '1997-12-31'-interval 1 second; + | '1997-12-31'-interval 1 second | + | 1997-12-30 23:59:59 | + 1 行于数据集 (0.01 秒) mysql> select date_sub('1997-12-31 23:59:59',interval '1:1' minute_second); + | date_sub('1997-12-31 23:59:59',interval '1:1' minute_second) | + | 1997-12-31 23:58:58 | + 1 行于数据集 (0.01 秒)
mysql> select date_sub('1997-12-31 23:59:59',interval 30 day); + | date_sub('1997-12-31 23:59:59',interval 30 day) | + | 1997-12-01 23:59:59 | + 1 行于数据集 (0.01 秒)
|