MySQL中的各种SQL语句,从一天、一周、一个月获取数据。
复制代码代码如下所示:
如果不存在,则创建表
(
ID int,
加入时间日期默认'0000-00-00 00:00:00
)
添加两个初始数据:
插入T值(1,'2012-07-12 21:00:00);
插入T值(2,'2012-07-22 21:00:00);
1。每日或日内插入的数据:
1,对比传统的判断:SELECT * FROM ` T `哪里date_format(增加时间,% y %M - %d)= date_format(现在的(),% y %M - %d));
2、缩写的第一点:SELECT * FROM ` T `在增加(现在),(date_format =% y %M - %d);
3、使用功能:选择*从` T `地方法官DATEDIFF(增加时间,现在)(= 0); / /推荐这种方法
4。使用时间戳来判断:SELECT * FROM ` T `增加之间的地方(unix_timestamp(现在)-(86440))和现在();
注:回到天MySQL(CURDATE),current_date功能(current_date)、现在(现在)(数);对0000-00-00 00:00:00到日期格式(CURDATE,current_date);(current_date),是为0000-00-00时间日期格式,所以没有时间返回的每一分钟;
二、当月相关数据:
1,今天是这个月的第一天:选择dayofmonth(现在());
2, get the first day of the month: SELECT DATA_SUB (NOW (), INTERVAL DAYOFMONTH (NOW ()) - 1 DAY);
数据操作功能,句型:date_add(日期,间隔表达式类型)和date_sub(日期、时间间隔表达式类型)
日期日期或日期值。它可以用作启动时间。表达式是一个表达式指定的时间间隔,增加或减少的数量。它可以是一个字符串,如果是负数,那么在表达式之前添加一个 符号。类型是一个关键字,它表示表达式的解释方式,通常用年份(年)、月、日、周等来解释。
区间用户描述:
1。当函数被使用,即区间(),是一个比较函数,如:间隔(10,1,3,5,7);结果是4;
原理:10、通过比较1、3、5、7数和下面的四比较,后者的四组数小于10,前提是后者的组数从小到大排列,否则结果为0。
2,当使用关键字时,它被设置为设置时间间隔。它通常是用在date_add()和()date_sub功能,如间隔1天,它被解释为间隔设置为1天的时间。
明确上述重要的日期操作函数,这里是一个混合日期操作。
3,上个月的第一天:选择date_sub(date_sub(现在的(),区间dayofmonth(现在())- 1天),间隔1个月);是不是一目了然吗
三。当相关数据在一周内写入时:
1,获取一周的今天或一周:选择周日(现在());返回的数字是:星期一0,星期日6。
2、获得本周第一天:选择date_sub(现在的(),区间周日(现在())天),或选择date_add(现在的(),间隔(*())),或*()(())。
三.第一天写上上周的数据:(表T是数据表)
SELECT * FROM ` T `在增加(date_sub > = date_format(date_sub(现在),间隔(周日(现在)(天)),间隔1周,% y %M - %d));是不是有些感觉!
注意:如果你是一个时间的时间戳字段保存,然后用from_unixtime()函数将其转换为时间格式,如from_unixtime($时间戳)。
四。将日期转换为MySQL中的时间戳
前三点是关于将日期转换为相应的时间常数,而不提及时间戳和时间转换,并将其写在这里。
1、时间戳的日期,方法是选择from_unixtime(1336542121);
2、日期将时间戳,方法是:选择unix_timestamp('2013-04-08);
结合前3点,时间戳使用起来更加灵活!最后更新:2013.04.08
一周前的一周前一周前的MySQL查询
从一年前的一个星期前的一个星期前的一个星期前的date_sub MySQL数据,主要使用,
请参考以下内容
复制代码代码如下所示:
SELECT * FROM yh_content
在inputtime > date_sub(CURDATE(),间隔1天)
在inputtime > date_sub(CURDATE(),间隔1周)
在inputtime > date_sub(CURDATE(),间隔1个月)
在inputtime > date_sub(CURDATE(),间隔1年)
注意:如果数据库中的时间以UNIX时间戳的形式存储,则需要将时间比较改为统一格式:
date_sub()返回格式化后的时间:2014-05-17
unix_timestamp()需要转换为Unix时间戳的形式:
复制代码代码如下所示:
在inputtime > unix_timestamp(date_sub(CURDATE(),间隔1天))
在inputtime > unix_timestamp(date_sub(CURDATE(),间隔1周))
在inputtime > unix_timestamp(date_sub(CURDATE(),间隔1个月))
在inputtime > unix_timestamp(date_sub(CURDATE(),间隔1年))
看了MySQL时间功能:功能如date_sub,date_add,unix_timestamp使用,等等