首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

记一次sql和时间段查询有关的语句

前言

由于自己有点需求需要在mysql中按照时间段进行查询,而自己又对这些不太了解,所以趁着这次机会将mysql和时间段相关的查询语句做一个记录:

常用函数:

DATE_SUB()函数

这个函数的date是一个时间表达式,一般取得是数据库中的一个字段。后面的 一般来讲是不变的, 一般是一个时间段,代表过去的,比如是30天,那么这里就是30,若是60,这里就是60, 则表示的是一个时间属性(可能表达的不是很准确),如下:

在这里我用 和 同时写了一个sql 在这个里面,将MONTH和YEAR_MONTH互换都是没问题的,这是目前暂时未发现有什么差异的。

FROM_UNIXTIME()函数

这是一个非常有用的函数,其作用是将一串数字或者一个时间戳转换成指定格式的一个日期,在这个里面的话第一个参数需要是一个UNIX时间戳,而第二个参数则是一个format的字符串,注意观察下面的三个例子的不同,第二个sql在后面做了一个+0的操作结果日期格式直接被转换成了一串数字。

CONCAT()函数

函数可以将一个字符串按照第二个参数,具体来说就是对应以下语句 这条语句的执行结果结果是2018-01,正好是从头截取了7个字符。

参数:第一个是字符串,第二个是截取的长度。

LEFT()函数

函数可以将一个字符串作为mysql的语句来执行,类比到Python就是python中的 函数,但是该函数若执行的字符串中包含一个 :注意这个null若是关键字则是会则会导致

sum()和Count()在统计1和0的区别

这两个函数的区别在一次使用统计的时候遇到了一点问题,例如一个字段是标识符,也就是一个字段的值除了0就是1,那么要统计为1的话一般来讲就是 这样就可以值选择为1的行,那么这里如果使用的是count的话,这里的这个规则是无法应用的,具体如下:

因为当时没有仔细的区分这两种用法的区别,所以才导致了统计错误。在这里,count只是一个统计,他只是统计应用规则之后的的符合数据,但是sum不同,sum配合 则可以选择出相匹配的一些数据

DATE_FORMAT()函数

这个函数可以将一个时间按照指定的格式输出,类似于Java中的dateformat函数,是可以将一个时间进行格式的。

一些常用函数组合:

查询本月的数据:

在这里是可以使用 函数和 函数,首先可以使用 函数截取一个字符串长度。比如获取当月的话是可以通过left来获取然后再将1号拼接上去,最后用数据库的日期再减去1号就可以了。

最后本月的1号就被查询出来了,然后便可以进行数据操作了

查询指定天数的数据

假设现在需要查询往期30天的数据,那么可以通过 函数来进行查询:

总结:

目前关于时间方面的sql总结差不多就是这些了,其他的以后再进行补充。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180324G1HNXC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券