十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
MySQL中常用日期时间函数:
临潭网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col)= 30;
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql select DAYOFWEEK('1998-02-03');
- 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql select WEEKDAY('1997-10-04 22:23:00');
- 5
mysql select WEEKDAY('1997-11-05');
- 2
DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
mysql select DAYOFMONTH('1998-02-03');
- 3
DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
mysql select DAYOFYEAR('1998-02-03');
- 34
MONTH(date)
返回date的月份,范围1到12。
mysql select MONTH('1998-02-03');
- 2
DAYNAME(date)
返回date的星期名字。
mysql select DAYNAME("1998-02-05");
- 'Thursday'
MONTHNAME(date)
返回date的月份名字。
mysql select MONTHNAME("1998-02-05");
- 'February'
QUARTER(date)
返回date一年中的季度,范围1到4。
mysql select QUARTER('98-04-01');
- 2
WEEK(date)
WEEK(date,first)
对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。
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)
返回date的年份,范围在1000到9999。
mysql select YEAR('98-02-03');
- 1998
HOUR(time)
返回time的小时,范围是0到23。
mysql select HOUR('10:05:03');
- 10
MINUTE(time)
返回time的分钟,范围是0到59。
mysql select MINUTE('98-02-03 10:05:03');
- 5
SECOND(time)
回来time的秒数,范围是0到59。
mysql select SECOND('10:05:03');
- 3
PERIOD_ADD(P,N)
增加N个月到阶段P(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。
mysql select PERIOD_ADD(9801,2);
- 199803
PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql select PERIOD_DIFF(9802,199703);
- 11
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
这些功能执行日期运算。对于MySQL 3.22,他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词。
MySQL数据库中year()函数是求某个特定日期中的年份,代码如下:
select
'2015-08-11'
as
date,year('2015-08-11')
as
year;
确定一个日期是一年中的第几个季度,可以用QUARTER()函数实现,代码如下:
SELECT
'2015-08-11'
AS
DATE,QUARTER('2015-08-11')
AS
QUARTER;
返回一个日期是一年中的月份,利用month()函数实现,代码如下:
SELECT
'2015-08-11'
AS
DATE,MONTH('2015-08-11')
AS
MONTH;
获取一个确定日期是一个月份中的多少号,可以用day()函数求得,具体实现代码如下:
SELECT
'2015-08-11'
AS
DATE,DAY('2015-08-11')
AS
DAY;
有时日期中带有时间,而如何获取小时数,这可以利用自带的函数hour()实现,代码如下:
SELECT
'2015-08-11
12:20:45'
AS
DATE,HOUR('2015-08-11
12:20:45')
AS
HOUR;
求取日期时间中的分钟数,可以利用MINUTE()函数实现,代码如下:
SELECT
'2015-08-11
12:20:45'
AS
DATE,MINUTE('2015-08-11
12:20:45')
AS
MINUTE;
最后,获取时间中的秒数,利用SECOND()函数实现,代码如下:
SELECT
'2015-08-11
12:20:45'
AS
DATE,SECOND('2015-08-11
12:20:45')
AS
SECOND;
mysql中怎么查询一周内,三个月内\x0d\x0a使用sql语句查询日期在一周内的数据\x0d\x0aselect * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据\x0d\x0aselect * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所有数据\x0d\x0a SELECT * FROM A where datediff(d,datetime,getdate())
回答于 2022-12-11
1.1 获得当前日期+时间(date + time)函数:now()
除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:
current_timestamp() current_timestamp
localtime() localtime
localtimestamp() localtimestamp
这些日期时间函数,都等同于 now()。鉴于 now() 函数简短易记,建议总是使用 now() 来替代上面列出的函数。
1.2 获得当前日期+时间(date + time)函数:sysdate()
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。
2. 获得当前日期(date)函数:curdate()
其中,下面的两个日期函数等同于 curdate(): current_date(),current_date
3. 获得当前时间(time)函数:curtime()
其中,下面的两个时间函数等同于 curtime():current_time(),current_time
4. 获得当前 UTC 日期时间函数:utc_date(), utc_time(), utc_timestamp()