在SQL语句中,如何比较保存为TIMESTAMP的日期和YYYY-MM-DD格式的日期?
例如: SELECT * FROM table WHERE timestamp = '2012-05-05'
我希望此查询返回指定日期中所有带有时间戳的行,但它仅返回具有午夜时间戳的行。
谢谢
您可以使用该DATE()
函数提取时间戳记的日期部分:
SELECT * FROM table
WHERE DATE(timestamp) = '2012-05-05'
但是,如果您在timestamp列上有索引,则这样做会更快,因为它可以利用索引:
SELECT * FROM table
WHERE timestamp BETWEEN '2012-05-05 00:00:00' AND '2012-05-05 23:59:59'
问题内容: 我在数据库中有时间戳,在应用程序中我有日期。我喜欢编写hibernate标准,以便hibernate可以提取所有与日期匹配的条目,而不是时间部分。例如 在数据库时间戳记中 2011-12-01 15:14:14 在应用程序中,我确实具有java.util.Date,默认情况下具有时间部分。 我的问题是,当我使用以下代码从数据库中搜索条目时,我什么也没得到 提前致谢 问题答案: 如果您正
我在mysql数据库表中有购买数据。服务器上的所有数据都存储在UTC时区中。 我可以用下面的代码转换EST时区的日期时间。 我正在使用下面的代码获取当天的最后一个星期六和下一个星期六。 但如何将上述EST时区转换的日期时间与UTC时区中存储的mysql数据进行比较?当我在下面查询时,我需要转换EST时区中“purchasedatetime”字段的数据。这可能吗?还是我做得不对?请告知。
问题内容: 这是我正在尝试执行的一些代码片段: 我似乎无法比较日期和日期时间值。比较这些的最佳方法是什么?我应该将日期时间转换为日期还是相反?我如何在它们之间转换。 (一个小问题,但似乎有点令人困惑。) 问题答案: 使用该方法将日期时间转换为日期: 或者,您可以使用代替。你可以用 消除之后的时间部分。
问题内容: 我用谷歌搜索并尝试了几种比较日期的方法,但不幸的是没有得到预期的结果。我有如下记录的当前状态: 我想比较日期,因此这样做: 我认为结果不应包含“ 28-10-2012”。有什么建议吗?提前致谢。 问题答案: 您的格式根本不是什么排序一个开始-你是比较 字符串 ,字符串“28-10-2012” 是 不是“2012年2月11日”更大。 相反,您应该将日期 作为date 进行比较,然后仅将其
问题内容: 我必须比较hibernatehql查询中的两个日期。我在我的Java bean中使用java.util.Date,并在MySQL数据库中将时间戳用作数据类型。 上面的查询将时间与日期进行比较。我应该怎么做才能在没有时间的情况下比较上述查询中的日期。 问题答案: 有关可用的日期功能,请参见Hibernate文档。 http://docs.jboss.org/hibernate/orm/3
问题内容: 我想比较数据库中2个给定日期之间的日期。数据库中的列是DATETIME,我只想将其与日期格式进行比较,而不要与datetime格式进行比较。 执行上面的SQL时出现此错误: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在’us_reg_date,120)> =‘2000-07-05’AND CONVERT(CHAR(10),us_reg_date,120)<=‘2