我有一个像这样的Oracle SELECT查询:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter Between 'TODAY 12:00:00 PM' And 'TODAY 11:59:59 PM'
我的意思是,我想选择字段“ date_enter”今天所在的所有位置。我已经尝试过类似Trunc(Sysdate) || ' 12:00:00'
的操作,但是没有用。
忠告: 我不能使用TO_CHAR,因为它变得太慢。
假设date_enter
是一个DATE
字段:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter >= trunc(sysdate)
And CuRo.Date_Enter < trunc(sysdate) + 1;
trunc()
默认情况下,该功能会删除时间部分,因此trunc(sysdate)
您可以在今天早晨午夜12点前使用该功能。
如果您特别想坚持使用between
,而DATE
不是TIMESTAMP
,则可以执行以下操作:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter between trunc(sysdate)
And trunc(sysdate) + interval '1' day - interval '1' second;
between
是包容性的,因此,如果您不休息一会儿,那么您有可能会在今晚的午夜准确地获取记录;因此,这会生成您在原始查询中寻找的23:59:59时间。但我认为无论如何,使用>=
和<
会更清晰,更明确。
如果您确定无论如何都不能晚于今天的日期,则上限实际上并没有添加任何内容,您将得到与以下相同的结果:
Select * From Customer_Rooms CuRo
Where CuRo.Date_Enter >= trunc(sysdate);
但是,您不想使用trunc
或to_char
在该date_enter
列上;使用任何函数都会阻止使用该列上的索引,这就是为什么查询to_char
速度太慢的原因。
问题内容: 我正在尝试运行一个mysql select语句,该语句会查看今天的日期,并且仅返回在当天注册的结果。我目前已经尝试了以下方法,但是它似乎不起作用。 谢谢大家,我已经修改了此声明。 问题答案:
如果条目的时间戳与今天的日期匹配,我想从SQLite表中选择所有条目。 我查询SQLite数据库如下: 这是我最近的行为,但我不希望在过去24小时内选择所有条目。我只想选择今天的日期是否与时间戳匹配。 如何仅选择表中时间戳与今天日期匹配的行。 数据库中的日期格式为:2014-07-05 12:59:35。
问题内容: 我正在使用PHPMyadmin,并使用PHP将值放入数据库中。我使用时间戳存储产品的到期日期,如下所示,例如: 我要选择所有到期日期等于今天的日期加上8天的日期(例如上面的那一天) 我也想在一个单独的页面中选择所有过期日期等于今天日期+ 2周的内容,如果有人可以帮助我,将不胜感激! 问题答案: 您可以使用以下查询来做到这一点: 您可以使用过去的日期。
问题内容: 我需要找到当天创建的帐户,以及最近7天创建的帐户。 为了找到今天的结果,它可以正常工作,我可以这样做: 但是我不知道如何获得最近的7天帐户。 我尝试了类似的方法,但是没有成功: 你有主意吗? 问题答案: 在mysql中:
问题内容: 希望这是一个简单的解决方案,但我正在尝试过滤以下数据:- 今天 昨天 本星期 这个月 在两个日期之间。 我从数据库获得的日期基本上是一个时间戳。 这是我尝试的: 今天 昨天 … 这不是真的工作。 任何的想法? 问题答案: 如果仅按日期选择,则将计算基于(仅返回日期)而不是(返回日期和时间)。这些示例将捕获日期范围内的所有时间: 今天: 昨天: 这个月: 在2013年6月3日至2013年
我试图通过以下查询获得日期。但没用。 我已经解析了用户输入日期,以'yyyy-mm-dd'格式存储到数据库中。帮我从所有记录中找出今天的生日日期。