mysql时间影响取数据吗_MySQL 根据时间字段获取不同数据

一: 下面这条语句查出来的count值 。  查询类型ID(category_id)为18的,今天插入的数据数,

created_on: 为数据表中一字段 datetime类型, 记录此条数据添加的时间

category_id :为数据表中一字段 Int类型,

SELECT COUNT(*) FROM post WHERE DATE_FORMAT(created_on,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') AND category_id=18

今天

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

昨天(dateTime 类型不试用)

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 * FROM 表名 WHERE DATE_FORMAT(时间字段名,'%Y-%m-%d') = DATE_FORMAT( DATE_SUB(CURDATE(),INTERVAL 1 DAY),'%Y-%m-%d')

查询前三个月的数据(包含当前月,如果不包含当前月向前在推一个月 ">="  改成 ">"  即可 )

SELECT * FROM w_jcyy_qxjjl WHERE 时间字段 >=  DATE_SUB(CURDATE(), INTERVAL 2 MONTH)

定义和用法

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。

语法    date 参数是合法的日期。format 规定日期/时间的输出格式。

DATE_FORMAT(date,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() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值