如果我的两个值相同,为什么它不起作用我已经使用了相同的运算符。用户需要从&中选择日期如果用户选择相同的日期来自& 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')
仅在日期之间有间隔
时才有效答案 0 :(得分:5)
如果我不得不猜测,那是因为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';
更好的解决方案是将一天添加到&#34;到#34;日期:
SELECT ss.*
FROM master_data.speed_of_service ss
WHERE trans_time >= '2017-08-13' AND
trans_time < '2017-08-13' + interval 1 day;
这样做更好,因为它仍允许使用索引。