Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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语句中的按日期筛选不起作用_Sql_Visual Studio 2010_C# 4.0_Date - Fatal编程技术网

sql语句中的按日期筛选不起作用

sql语句中的按日期筛选不起作用,sql,visual-studio-2010,c#-4.0,date,Sql,Visual Studio 2010,C# 4.0,Date,我无法按使用visual studio 2010和C的日期进行筛选 以下是我尝试过但没有成功的简化陈述 SELECT date_dt, ident_1, ident_2, ident_3 FROM p240538 WHERE (date_dt >= DateTime('"2011' / 10 / '19"')) 或 有什么想法吗 谢谢 您需要的是SQL Server中的函数。它所做的是比较日期。我使用了一个变量来比较它,但是如果你愿意,你可以在那里有一个硬

我无法按使用visual studio 2010和C的日期进行筛选 以下是我尝试过但没有成功的简化陈述

SELECT     date_dt, ident_1, ident_2, ident_3
FROM         p240538
WHERE     (date_dt >= DateTime('"2011' / 10 / '19"'))

有什么想法吗

谢谢

您需要的是SQL Server中的函数。它所做的是比较日期。我使用了一个变量来比较它,但是如果你愿意,你可以在那里有一个硬编码的值。它所做的是将日期字段与当前日期进行比较。如果您可以将dd更改为“我的链接”中指定的任何其他比较范围的天数小于或等于今天的日期,则它将返回这些记录

编辑:这是假设date_dt字段是datetime或等效的数据类型。您还可以用任何有效的日期时间规范替换getdate,包括要比较的日期时间字符串。

为什么不试试:

SELECT    date_dt, ident_1, ident_2, ident_3
FROM      p240538
WHERE     CONVERT(VARCHAR, date_dt, 112) >= 20111019

当然,如果您能提供date_dt列的数据结构/类型/设置,这将对我们有更好的帮助,因为如果date_dt是一个索引,我的建议可能会有很大的变化,如果它始终是yyyy/mm/dd格式,您需要提供什么样的日期。日期也是一个参数吗?

我想你已经接近了。看起来你想要的是:

SELECT     date_dt, ident_1, ident_2, ident_3
FROM         p240538
WHERE     (date_dt >= DateTime(2011, 10, 19))
编辑: 最初认为这是一个linq问题,提交后意识到这是一个sql问题。尝试:

SELECT     date_dt, ident_1, ident_2, ident_3
FROM         p240538
WHERE     (date_dt >= convert(DateTime, '10/19/2011', 101)
试试这个。。。
代码是SQL,与Visual Studio或C无关

您是否得到零结果或错误消息?@BayoAlen ok,然后查看我的答案。这应该是您正在寻找的。您自己实际进行转换的主要原因是您知道常量的格式,如果不告诉SQL Server,它很容易混淆月份和日期部分。在大多数情况下,你的答案是有效的,但不是全部。
SELECT     date_dt, ident_1, ident_2, ident_3
FROM         p240538
WHERE     (date_dt >= DateTime(2011, 10, 19))
SELECT     date_dt, ident_1, ident_2, ident_3
FROM         p240538
WHERE     (date_dt >= convert(DateTime, '10/19/2011', 101)
SELECT date_dt, ident_1, ident_2, ident_3 FROM p240538 WHERE date_dt >= '10/19/2011'