如何获取两个日期之间的数据
Posted
技术标签:
【中文标题】如何获取两个日期之间的数据【英文标题】:How to get data between two dates 【发布时间】:2016-01-19 03:38:11 【问题描述】:这是我的代码:
SELECT *
FROM tbl_mainTable
WHERE date_issue BETWEEN '1/1/2016' AND DATEADD(s, -1, DATEADD(d, 1, '1/20/2016'))
但它显示从 2015 年 1 月 5 日到 2016 年 1 月 18 日的记录
我希望有人可以帮助我解决此类问题。我是否遗漏了代码中的某些内容?
【问题讨论】:
如果date_issue
是一个varchar,那么你就有问题了。 "1/5..."
大于 "1/1..."
我认为这是日期格式的问题。尝试在 yyyy/mm/dd 前后以这种方式引用日期。
但是我的日期格式是 dd/MM/yyyy?
为什么这个标记为 vb .net?
因为我要在 vb.net 中使用它
【参考方案1】:
这将选择两个日期之间的数据
SELECT * FROM tbl_mainTable WHERE date_issue between '2016/1/1' AND '2016/1/20'
您可以使用CONVERT() function 来调整您需要的格式。
【讨论】:
【参考方案2】:由于 date_issue 是 varchar,因此 BETWEEN 会出现问题。
尝试将 date_issue 数据类型从 varchar 更改为 datetime
【讨论】:
不。它的varchar。使用的数据类型有问题吗? @JMYu,把数据类型改成datetime再运行查询可以吗? 我试图将我的数据类型从 varchar 更改为 datetime 并且它已经工作了,我只需要将数据修剪为日期,因为它也显示像这样的时间 2016-01-04 00:00: 00.000 @Aethlen 非常感谢您! :) 尝试从 varchar 更改为 date。 cast(dateissue as date) 或 convert(date,dateissue,103)以上是关于如何获取两个日期之间的数据的主要内容,如果未能解决你的问题,请参考以下文章