接触过sql的人都知道,sql里面有一些内置函数,比如count(),sum(),max(),min()等。今天先学习一下mysql中一些日期函数:
函数
描述
NOW() |
返回当前的日期和时间 |
CURDATE() |
返回当前的日期 |
CURTIME() |
返回当前的时间 |
DATE() |
提取日期或日期/时间表达式的日期部分 |
EXTRACT() |
返回日期/时间按的单独部分 |
DATE_ADD() |
给日期添加指定的时间间隔 |
DATE_SUB() |
从日期减去指定的时间间隔 |
DATEDIFF() |
返回两个日期之间的天数 |
DATE_FORMAT() |
用不同的格式显示日期/时间 |
NOW(),CURDATE(),CURTIME(),在我看来一般用于建表语句中deflaut中,来生成当前时间。
DATE(date)则是提取参数中的日期部分。比如:DATE('2011-06-20 14:22:22') 输出 2011-06-20
EXTRACT(unit FROM date)
unit的值如下:
Unit 值
MICROSECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR |
SECOND_MICROSECOND |
MINUTE_MICROSECOND |
MINUTE_SECOND |
HOUR_MICROSECOND |
HOUR_SECOND |
HOUR_MINUTE |
DAY_MICROSECOND |
DAY_SECOND |
DAY_MINUTE |
DAY_HOUR |
YEAR_MONTH |
DATE_ADD(date,INTERVAL num type)
type也是上述表格中的值,num可以为负。
DATE_SUB()同上,如果num为负值,则是加上该数值。
DATEDIFF(date1,date2) 返回的是第一个日期比第二个日期多的天数,如果第二个日期大于第一个日期,则返回负数。
比如DATEDIFF('2008-12-31','2008-11-30') 返回31 DATEDIFF('2008-11-30','2008-12-31') 则返回-31
DATE_FORMAT(date,format)
format可以为如下值,及其组合:
格式
描述
%a |
缩写星期名 |
%b |
缩写月名 |
%c |
月,数值 |
%D |
带有英文前缀的月中的天 |
%d |
月的天,数值(00-31) |
%e |
月的天,数值(0-31) |
%f |
微秒 |
%H |
小时 (00-23) |
%h |
小时 (01-12) |
%I |
小时 (01-12) |
%i |
分钟,数值(00-59) |
%j |
年的天 (001-366) |
%k |
小时 (0-23) |
%l |
小时 (1-12) |
%M |
月名 |
%m |
月,数值(00-12) |
%p |
AM 或 PM |
%r |
时间,12-小时(hh:mm:ss AM 或 PM) |
%S |
秒(00-59) |
%s |
秒(00-59) |
%T |
时间, 24-小时 (hh:mm:ss) |
%U |
周 (00-53) 星期日是一周的第一天 |
%u |
周 (00-53) 星期一是一周的第一天 |
%V |
周 (01-53) 星期日是一周的第一天,与 %X 使用 |
%v |
周 (01-53) 星期一是一周的第一天,与 %x 使用 |
%W |
星期名 |
%w |
周的天 (0=星期日, 6=星期六) |
%X |
年,其中的星期日是周的第一天,4 位,与 %V 使用 |
%x |
年,其中的星期一是周的第一天,4 位,与 %v 使用 |
%Y |
年,4 位 |
%y |
年,2 位 |
DATE_FORMAT()可以输出我们想要的格式的日期,比如:
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
对应的结果为:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
最近坐一个group by的sql语句的时候,要对日期进行每月的group by,所以去百度上查了下mysql的日期函数,group by 中就可以代入上述函数进行group by,缺点呢,大数据量下应该非常耗资源。
分享到:
相关推荐
日期和时间函数是MySQL中的重要组成部分,它们允许我们进行日期和时间的计算、格式化以及各种操作,极大地增强了数据库查询和数据分析的能力。在这个“mysql的日期和时间函数”教程中,我们将深入探讨这些关键功能。...
随着对更复杂时间范围查询需求的增加,可以结合更多的时间函数和操作符来满足更高级的查询需求,例如查询特定年份、季度、周等。随着数据库管理经验的累积,熟练掌握这些时间相关函数将大大提高开发效率和数据处理的...
### 在MySQL中获取当前系统时间的函数 在MySQL中,获取当前系统时间的功能非常重要,它不仅用于记录数据的创建或修改时间,还可以用于各种业务逻辑处理。与Oracle数据库中的`Sysdate`不同,MySQL提供了多种函数来...
### 几个实用的MySQL内置函数实用说明 在MySQL中,日期和时间处理是非常常见的需求之一。为了方便地处理这些需求,MySQL提供了多种内置函数来帮助我们格式化、转换以及计算日期和时间。本文将详细介绍两种重要的...
7.4.4 逻辑运算 7.4.5 比较运算符 7.4.6 字符串比较函数 7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 ...
o 1.8 有用的MySQL相关链接 * 2 MySQL 邮件列表及如何提问或报告错误 o 2.1 MySQL邮件列表 o 2.2 提问或报告错误 o 2.3 怎样报告错误或问题 o 2.4 在邮件列表上回答问题的指南 * 3 MySQL的许可证和技术支持 ...
通过上述介绍,我们可以看到 MySQL 中提供的日期函数非常实用且强大,可以帮助我们在处理日期和时间数据时更加高效准确。无论是简单的获取当前日期时间,还是复杂的日期计算和格式化,这些函数都能满足需求。建议在...
7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 其他函数 7.4.13 与GROUP BY子句一起使用的函数 7.5 CREATE DATABASE ...
标题中的“mysql汉字转拼音简码UDF”表明我们有一个专门用于将汉字转换为拼音简码的UDF,这在处理中文数据时非常有用,比如在搜索、排序或数据分析中。在传统的SQL查询中,直接进行汉字到拼音的转换可能会导致性能...
MySQL日期函数和日期转换格式化函数是数据库查询和数据分析中不可或缺的部分,它们允许开发者和数据分析师对日期和时间数据进行处理和操作。以下是一些常用的MySQL日期函数和转换函数的详细说明: 1. `DAYOFWEEK...
MySQL的日期时间函数也相当丰富。`Now()`函数返回当前日期和时间,`CURRENT_DATE()`和`CURRENT_TIME()`分别返回当前日期和当前时间,`Sysdate()`与`Now()`相似。此外,`CURRENT_TIMESTAMP()`是一个同时包含日期和...
MySQL中的日期和时间函数是数据库查询中非常重要的组成部分,它们允许开发者对日期和时间数据进行各种操作和分析。以下是对这些函数的详细说明: 1. **TO_DAYS()**:这个函数将日期转换为自公元前4713年1月1日以来...
- **目的**:说明如何在 Unix 系统中配置 MySQL++ 以支持 Unicode。 - **代码**:例如,设置环境变量。 **6.3 Windows 上的 Unicode** - **目的**:介绍在 Windows 环境下启用 MySQL++ Unicode 支持的方法。 - **...
3. **日期和时间函数**: - `now()`:返回当前日期和时间。 - `unix_timestamp()`:将当前日期和时间转换为Unix时间戳。 - `from_unixtime(timestamp)`:将Unix时间戳转换为日期和时间格式。 - `year(date)`:从...
MySQL中的`DATE_ADD()`和`DATE_SUB()`函数是用于对日期和时间进行加减运算的两个关键函数。它们可以帮助我们方便地处理日期和时间数据,例如在数据分析、报表生成或数据库记录更新时。 `DATE_ADD()`函数的语法是: ...
2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:filesize() 2.8.3 删除一个文件:unlink() 2.8.4 在文件中定位:rewind()、fseek()和ftell() 2.9 文件锁定 2.10 更好...
PHP中的日期和时间函数如`date()`用于格式化当前时间或特定时间戳,`strtotime()`可以解析多种格式的时间字符串并返回时间戳。`time()`则直接返回当前时间戳,`mktime()`用于生成时间戳。`date_diff()`则可以计算两...
MySQL中的时间日期函数是数据库操作中非常重要的组成部分,它们允许我们对存储的日期和时间数据进行处理和分析。以下是对一些常用的时间日期及转换函数的详细说明: 1. `now()`:这个函数返回当前日期和时间,格式...
#### 一、时间与日期处理函数 ##### 1. `gmtime()` - **功能描述**:此函数用于获取当前格林尼治标准时间(GMT)的时间戳。 - **参数说明**:无参数。 - **应用场景**:当需要统一时间基准或处理国际化的日期时间...