sql查询between and 查询不到end当天,或者当start和end相等时查询为空

问题一:按时间查询截止至15号只能查到15号之前的数据而没有当天数据

问题二:当查询起止日期相同时,查询结果为空

这是因为当数据库中存储的date含有时间即2019-01-12 03:23:56 而你的查询只有2019-01-12时其自动补全为2019-01-12 00:00:00所以查不到,解决方法  

将含有时间的列转为只含日期的模式

Date(create_time)  between #{start} and #{end}

MySQL中以日期为查询条件的方法_zhousulian的博客-CSDN博客_sql如何把日期作为查询条件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL中的间区间查询between是一种常用的查询方式,它可以查询某个间段内的数据。具体使用方法如下: SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND 'end_date'; 其中,table_name是要查询的表名,date_column是要查询的日期列名,start_date和end_date是间区间的起始和结束间。注意,日期格式必须与date_column列的格式一致。 例如,查询某个表中2019年1月1日至2019年12月31日之间的数据,可以使用以下语句: SELECT * FROM table_name WHERE date_column BETWEEN '2019-01-01' AND '2019-12-31'; ### 回答2: MySQL间区间查询between是一种非常常用的操作,它可以用来查询满足指定间段的数据。在MySQL中使用between查询方式,需要注意以下几个方面: 1. between运算符通常用于选取一个范围内的数据,要求选择的两个数值必须是数值型数据。 2. 间戳数据类型可以直接使用between,但是日期和间数据类型需要转换成UNIX间戳后再进行between操作。 3. 间戳数据类型是以秒为单位进行存储的,当进行间范围查询,要将间统一转换成同一间戳格式,以保证查询的精确性。 例如,查询2019年11月1日到11月30日这个间范围内的数据,可以使用如下MySQL语句: SELECT * FROM table_name WHERE date BETWEEN UNIX_TIMESTAMP('2019-11-01') AND UNIX_TIMESTAMP('2019-11-30 23:59:59'); 这条SQL语句中使用了UNIX_TIMESTAMP函数将日期间转换成了UNIX间戳格式,并使用BETWEEN运算符筛选出符合条件的数据。 总之,MySQL间区间查询between是一种非常实用的查询方式,可以帮助我们轻松地实现间范围的筛选操作。需要注意的是,在进行between操作一定要将间统一转换成同一格式,以保证查询的准确性。 ### 回答3: MySQL间区间查询between是一种非常常用的SQL查询语句,用于查询某个数据表中符合指定间范围的数据。 在MySQL中,间数据类型可以是日期、间或日期加间。常用的间数据类型有:DATE、TIME、DATETIME和TIMESTAMP。 在使用between语句查询间区间,需要将指定的间范围转化成对应的间数据类型。例如,对于DATE类型的间数据,可以使用以下SQL查询语句: SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND 'end_date' 其中,table_name是要查询的数据表名,date_column是存储日期的列名,'start_date'和'end_date'分别是起始间和结束间。 对于TIME、DATETIME和TIMESTAMP类型的间数据,使用between查询语句的方法也类似: SELECT * FROM table_name WHERE datetime_column BETWEEN 'start_datetime' AND 'end_datetime' 在使用between查询间区间,需要特别注意间格式的问题。为了避免查询出错,建议在输入使用标准的间格式,例如: - DATE类型间数据:YYYY-MM-DD - TIME类型间数据:HH:MM:SS - DATETIME类型间数据:YYYY-MM-DD HH:MM:SS - TIMESTAMP类型间数据:YYYY-MM-DD HH:MM:SS 总之,使用MySQL间区间查询between需要对间数据类型和间格式有一定的了解,同遵循查询的规范和标准,才能准确地查询出符合条件的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值