当前位置: 首页 > 面试题库 >

如何比较存储为String(varchar)在数据库中的日期?

严子默
2023-03-14
问题内容

我有一个数据库(表),其中2个字段是:

fromdate varchar(20)
todate  varchar(20)

日期以这种方式存储:

YYYY-MM-DD HH:mm:ss

例如:数据库中的“ 2014-10-30 10:10:10”。

现在我想比较两个日期并使用查询2014-09-10 10:10:10(fromdate)到2014-10-10
10:10:10(todate)从数据库中获取记录

如何获取所有准确的记录..有什么解决方案..

谢谢。


问题答案:

只需比较字符串即可,无需额外的开销。

此格式为“YYYY-MM-DD HH:MM:SS”股按时间和 文字 字母顺序

SELECT * FROM someTable
WHERE fromdate >= '2014-09-10 10:10:10' AND todate <= '2014-10-10 10:10:10'

另外,我将在这些列上创建索引。



 类似资料:
  • 问题内容: 我有以下存储过程,没有编写完整的存储过程,但其中一些是: 我想知道何时我将@course转换为VARCHAR类型,而数据库中的我是INT类型-比较如何进行? 问题答案: 在SQL Server中,两种不同类型之间的比较是这样进行的: 首先,根据数据类型优先级的规则比较这两种类型的优先级: 优先级较低的数据类型将转换为优先级较高的数据类型 接下来,将优先级较低的类型强制转换为优先级较高的

  • 在db中,我有一个字段名类型 字段的值如下 但没有返回结果。 问题是什么,如何修复?

  • 问题内容: 如何在Java中比较两者之间的日期? 例: date1是 date2是今天 date3是 总是大于和今天始终。如何验证今天的日期是否在和之间? 问题答案: 日期有之前和之后的方法,可以相互比较,如下所示: 进行包容性比较: 你也可以尝试一下Joda-Time,但请注意: Joda-Time是Java SE 8之前的Java的事实上的标准日期和时间库。现在,要求用户迁移到java.tim

  • ObjectHolder类型的对象中的多用途字段包含对象OBJ。obj可能存储包装的基元或基元数组。如果两个对象是数组,我们如何比较它们?一个简化的例子:

  • 问题内容: 我想要 问题是日期存储为! 这是我有约会的例子: 请注意,有些记录有几秒钟,有些则没有 我根本不在乎时间,我只需要日期 是领域 这是行不通的: 这: 正在返回: 这: 正在返回: OMG小马: 我把所有东西都放在第一个空格之前: 现在我得到这个返回: 问题答案: 您想在日期之间进行搜索,并将其存储为日期。通过将它们存储为字符串,您就可以自己射击。您基本上需要从字符串中提取日期部分(使用

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好