mysql 时间操作大全 注意本文从网上收集运算符坑得很!!!

查询

今天

select * from 表名 where to_days(时间字段名) = to_days(now());

昨天

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1

7天

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

近30天

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

本月

SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

上一月

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

 

 

 

SELECT DATE_SUB(curdate(), INTERVAL 1 DAY);
或者
SELECT curdate() - INTERVAL 1 DAY;
 
 
 

 1.存储日期时间用now();

    2.存储日期用curdate()/current_date;

    3.存储时间用time();

    4.获取年份用year();

    5.获取月份用month();

    6.获取月份中的日期用day()或者dayofmonth();

    7.获取昨天就用date_sub(curdate(),interval 1 day)/date_sub(current_date,interval 1 day);

    或者curdate()-interval 1 day; 【-表减去1天,如果是+表示加上1天】

    或者to_days(curdate())-to_days(字段名)=1

    【注:】

    a.有to_days函数,没有to_months()和to_years()函数。

    b.to_days()函数是把日期转化为距离公元0年的天数。

    8.获取前一个月就用date_sub(curdate(),interval 1 month)/date_sub(current_date(),interval 1 month);

    9.获取去年就用date_sub(curdate(),interval 1 year)/date_sub(currentdate(),interval 1 year);

    10.获取小时用hour();

1小时之内

SELECT * FROM tl_imap_sck WHERE access_time> DATE_SUB(NOW(),INTERVAL 1 HOUR)

    11.获取分用minute();

    12.获取秒用second();

    13.创建时间mktime(0,0,0,“$_POST[]”,“$_POST[]”,“$_POST[]”);

    14.获取两天前(包括昨天)的sql语句是:

    select * from pname where 【字段名】between date_sub(curdate(),interval 2 day) and curdate();

    或者:

    select * from pname where to_days(curdate())-to_days(字段名)<=2;

    15.DAYOFWEEK(date)

    返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。

    16.WEEKDAY(date)

    返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

    17.DAYOFYEAR(date)

    返回date在一年中的日数, 在1到366范围内。

    mysql> select DAYOFYEAR(‘1998-02-03’);

    -> 34

    18.DAYNAME(date)

    返回date的星期名字。

    mysql> select DAYNAME(“1998-02-05”);

    -> 'Thursday'

    19.QUARTER(date)

    返回date一年中的季度,范围1到4.  (1-3月为1,4-6月为2,7-9月为3,10-12月为4)

 

你可能感兴趣的:(mysql时间)