如果我的两个值都相同,为什么它不起作用我已经使用相同的运算符.用户需要从&选择日期,如果用户选择了相同的日期,2017-08-13
那么它应该仍然显示所有日期,2017-08-13
并且遗憾的是不起作用.
SELECT * FROM master_data.speed_of_service where
( trans_time >= '2017-08-13' and
trans_time <= '2017-08-13')
Run Code Online (Sandbox Code Playgroud)
只有在日期之间有间隔时才有效
如果我不得不猜测,那是因为trans_time
有一个时间组件.一个简单的解决方法是提取日期:
SELECT ss.*
FROM master_data.speed_of_service ss
WHERE date(trans_time) >= '2017-08-13' and date(trans_time) <= '2017-08-13';
Run Code Online (Sandbox Code Playgroud)
更好的解决方案是在"到"日期添加一天:
SELECT ss.*
FROM master_data.speed_of_service ss
WHERE trans_time >= '2017-08-13' AND
trans_time < '2017-08-13' + interval 1 day;
Run Code Online (Sandbox Code Playgroud)
这样更好,因为它仍然允许使用索引.