Mysql 查询同一日期之间的数据
有可能这样做吗Mysql 查询同一日期之间的数据,mysql,sql,database,mariadb,Mysql,Sql,Database,Mariadb,有可能这样做吗 select * from table where Date BETWEEN '2019-05-29' AND '2019-05-29' 是的,这是可能的。如果您有时间段,您可以使用函数跳过它: SELECT * FROM table WHERE DATE(Date) BETWEEN '2019-05-29' AND '2019-05-29' -- it may degrade performance, condition is not SARGable 是的,这是可能的。如
select * from table where Date BETWEEN '2019-05-29' AND '2019-05-29'
是的,这是可能的。如果您有时间段,您可以使用函数跳过它:
SELECT * FROM table WHERE DATE(Date) BETWEEN '2019-05-29' AND '2019-05-29'
-- it may degrade performance, condition is not SARGable
是的,这是可能的。如果您有时间段,您可以使用函数跳过它:
SELECT * FROM table WHERE DATE(Date) BETWEEN '2019-05-29' AND '2019-05-29'
-- it may degrade performance, condition is not SARGable
是的,但更好的方法是:
select t.*
from table t
where t.Date >= date('2019-05-29') AND
t.Date < date('2019-05-29') + interval 1 day
选择t*
来自表t
其中t.日期>=日期('2019-05-29'),以及
t、 日期<日期('2019-05-29')+间隔1天
为什么这样更好?它在列名上没有函数,因此它可以使用
日期
列上的索引。是的,但更好的方法是:
select t.*
from table t
where t.Date >= date('2019-05-29') AND
t.Date < date('2019-05-29') + interval 1 day
选择t*
来自表t
其中t.日期>=日期('2019-05-29'),以及
t、 日期<日期('2019-05-29')+间隔1天
为什么这样更好?它在列名上没有函数,因此它可以使用
日期
列上的索引。是的,如果希望在测试窗口中运行它而不手动更改代码中的日期,可以将其设置为变量。使用TRUC消除时间,即不会有29-05-2019 23:59:00。如果您希望在一个时间段内使用相同的日期,请删除trunc,然后您可以设置小时分秒,从而使查询更精确
SELECT t.*
FROM table t
WHERE t.date BETWEEN trunc(to_date(:datefrom, 'dd.mm.yyyy hh24:mi:ss')) AND
trunc(to_date(:dateto, 'dd.mm.yyyy hh24:mi:ss'))
是的,您可以,如果您希望在测试窗口中运行它而不手动更改代码中的日期,您可以将其设置为变量。使用TRUC消除时间,即不会有29-05-2019 23:59:00。如果您希望在一个时间段内使用相同的日期,请删除trunc,然后您可以设置小时分秒,从而使查询更精确
SELECT t.*
FROM table t
WHERE t.date BETWEEN trunc(to_date(:datefrom, 'dd.mm.yyyy hh24:mi:ss')) AND
trunc(to_date(:dateto, 'dd.mm.yyyy hh24:mi:ss'))
这相当于,
where Date='2019-05-29'
已经在这个[question]()中得到了回答。我怀疑有一个不同的问题,我想要一个关于日期范围的一般查询,有时日期范围将是相同的日期。这假设Date
的数据类型是Date
!如果是DATETIME
,那么您只检查午夜!这相当于,where Date='2019-05-29'
已经在这个[question]()中得到了回答。我怀疑有一个不同的问题,我想要一个关于日期范围的一般查询,有时日期范围将是相同的日期。这假设Date
的数据类型是Date
!如果是DATETIME
,那么您只检查午夜!看起来比mysql更像Oracle。看起来比mysql更像Oracle。在此上下文中,date()
的使用是可选的。此外,此短语处理任何数据类型date
,包括,例如,微秒分辨率DATETIME(6)
。在此上下文中,date()
的使用是可选的。此外,此短语处理任何数据类型Date
,例如,包括微秒分辨率DATETIME(6)
。