mysql中大于等于某个年月,小于等于当前年月之间的所有年月的语句如何写呢

mysql中小于某个日期,大于某个日期,或者大于等于某个年月,小于等于当前年月之间的所有年月的语句如何写呢


mysql日期查询写法示例如下:

1.查询大于等于一个开始日期,小于等于一个结束日期的正确写法,

1)第一种正确写法:

sql_1 = '''
                select * from tables1 where log_date between %s and %s and unit_id=%d
                ''' % ("'" + start_day + "'", "'" + end_day + "'",unit_id)

结论:sql_1是正确的,返回的包含start_dayend_day,以及start_dayend_day之间的数据

2)第二种正确写法:

mysql> select * from tables1 where log_date >= '2017-06-25' and log_date <= '2017-07-01';

对比,以下是错误方法:

mysql> select * from tables1 where log_date >= '2017-06-25' and log_date =< '2017-07-01';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=< '2017-07-01'' at line 1

3)正确示例3

select date from table where date between '2013-05' and '2014-5'

返回的包含2013年5月和2014年5月,以及2014年5月到2014年5月之间的数据


3.查询大于一个开始日期,小于一个结束日期的写法:

1)正确写法

sql_2=''' select * from tables1 where log_date>%s and log_date<%s and unit_id=%d

                ''' % ("'" + start_day + "'", "'" + end_day + "'",unit_id)

结论:sql_2是正确的,返回的不包含start_day和end_day,仅仅包含start_day到end_day之间的数据

2)错误写法

sql_3=''' select * from tables1 where log_date>=%s and log_date=<%s and unit_id=%d

                ''' % ("'" + start_day + "'", "'" + end_day + "'",unit_id)

结论:sql_3是错误的写法


3. 大于等于一个日期的写法

mysql> select * from tables1 where log_date >= '2017-07-15';

4. 小于等于一个日期的写法

mysql> select * from tables1 where log_date <='2017-06-27';


  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值