![]() |
1
0
因为字段的类型是varchar,所以搜索的不是日期范围,而是文本范围。您确实应该将日期存储在日期类型字段中,因为这样您就可以轻松有效地进行日期范围查询。 理论上,使用to_date的变通方法应该有效,尽管这相当低效,因为数据库必须尝试将每行的文本转换为真实日期才能进行比较。至于为什么它实际上不起作用,目前尚不清楚。你在使用什么数据库?格式字符串是正确的还是应该是大写的('MM-DD-YYYY')? 如果您顽固地将日期作为文本存储在数据库中,那么使用可以按词汇排序的格式,例如YYYY-MM-DD,包括前导零(2013-08-01),似乎可以使范围查询正常工作。但是,数据库具有专用日期数据类型确实有几个很好的原因! |
![]() |
2
0
更好的方法是这样的:
第一个原因是,如果适用的话,它将考虑时间因素。 第二个原因是在where子句中使用函数会减慢生产速度。 顺便说一句,如果CompletionDate在数据库中是char或varchar数据类型,则会出现严重问题。 |
![]() |
Tim Wilcox · 使用between更新列 7 年前 |
![]() |
Sam · SQL检查时间是否在一系列时区内 7 年前 |
![]() |
zlee · 使用mysql for date overlap进行预订 8 年前 |
![]() |
beginner · sql server中的Between子句 8 年前 |
|
Integer · PHP RegEx删除2个单词之间的双空格 9 年前 |
![]() |
WesternGun · 记录存在时,在日期之间休眠搜索不返回结果 9 年前 |