mysql - sql在日期之间搜索错误

标签 mysql sql-server

我想检索两个特定日期之间的数据,并且我通过此查询得到了完全正确的结果

从 POS.dbo.voucher 中选择 *,其中 date_time 介于“2014 年 10 月 10 日 00.00.00”和“2014 年 10 月 11 日 12.00.00”之间

但问题是我是否要更改月份,例如

从 POS.dbo.voucher 中选择 *,其中 date_time 介于“2014 年 3 月 10 日 00.00.00”和“2014 年 3 月 11 日 12.00.00”之间

它仍然给我返回相同的记录。看起来它只是比较日期并将记录返回给我。

知道我哪里做错了吗?

我将日期作为数据库中的 varchar 进行处理。

谢谢!!

最佳答案

您似乎正在使用 SQL Server(基于 dbo)。对日期常量使用标准日期格式:

select *
from POS.dbo.voucher
where date_time between '2014-10-10 00:00:00' and '2014-10-11 12:00:00'

但是,要使其正常工作,您需要在数据库中使用正确的日期格式存储日期。因此,您应该修复数据结构以使用正确的数据类型存储日期。

关于mysql - sql在日期之间搜索错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26856609/

相关文章:

mysql - 如何在vb.net 2010中获取插入语句后的自动递增值

sql - 从我的软件访问在线 SQL Server 数据库

php - 需要在 .htaccess 中的 RewriteRule 中隐藏 id

mysql - 对枚举进行排序实际上是如何工作的?

mysql - 在sql中制作阶梯

mysql - 一个表中的多个数据集或在表中显示不同的值 (SSRS)

sql-server - 未返回输出参数

sql-server - 如果 sql server 的服务器排序规则区分大小写而数据库不区分大小写,那么查询是否区分大小写?

asp.net - "ASP.NET"错误 : Access to the remote server is denied because no login-mapping exists

sql - 如何在某一列具有相同值的行中查询具有最高列值的行