Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在WHERE子句中以now作为引用筛选DateTime字段_Sql_Vb.net_Datetime_Where Clause - Fatal编程技术网

Sql 在WHERE子句中以now作为引用筛选DateTime字段

Sql 在WHERE子句中以now作为引用筛选DateTime字段,sql,vb.net,datetime,where-clause,Sql,Vb.net,Datetime,Where Clause,我正在尝试使用where子句构建一个vb.net应用程序,以使用DateTime字段过滤数据 我的表包含5个字段和10000多行。我想使用DateTime字段查找从现在起超过7年的所有行。 但是这个脚本将被多次重复使用。所以我不想使用这种where子句,因为我不想每次运行应用程序时都修改where子句: select * from myTable WHERE myDateTimeField < '2006-09-07 00:00:00.000' 从myDateTimeField

我正在尝试使用where子句构建一个vb.net应用程序,以使用DateTime字段过滤数据

我的表包含5个字段和10000多行。我想使用DateTime字段查找从现在起超过7年的所有行。 但是这个脚本将被多次重复使用。所以我不想使用这种where子句,因为我不想每次运行应用程序时都修改where子句:

select * from myTable WHERE myDateTimeField < '2006-09-07 00:00:00.000'
从myDateTimeField<'2006-09-07 00:00:00.000'所在的myTable中选择*
我想找到一种写where子句的方法,如下所示:

从myTable中选择*其中myDateTimeField“从现在起超过7年”


我不经常使用VB.net(如您所见),所以这件事真的让我很困扰

只要利用
日期时间

Dim dateTime As DateTime
dateTime = DateTime.Now.AddYears(-7);
构建SQL字符串时,只需在约会时调用
ToString
(显然,您可以根据需要对其进行格式化):


我认为如果您有SQL Server,情况会更好

strQuery = "select * from myTable WHERE myDateTimeField 
            <= DATEADD(YEAR, -7, GETDATE())"
strQuery=“从myDateTimeField所在的myTable中选择*


你要找的是datetime的DSL。看看这篇博文,了解一些想法

祝你好运

附言


如果您需要帮助将其翻译成vb.net,只需提交一条评论。

您是否建议将
日期时间
作为
字符串
传递?这从来都不是一个好主意。@MattJohnson-我同意,我总是将日期推到SQL Server的一边。因为他最初的问题显示了对字符串日期的尝试,这就是我所做的我知道他想做什么。
strQuery = "select * from myTable WHERE myDateTimeField 
            <= DATEADD(YEAR, -7, GETDATE())"
SELECT * FROM myTable WHERE myDateTimeField < DATEADD(YEAR, -7, GETDATE())
SELECT * FROM myTable WHERE myDateTimeField < DATEADD(YEAR, -7, GETUTCDATE())