Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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_Sql Server_Tsql - Fatal编程技术网

Sql 一排偶尔回来

Sql 一排偶尔回来,sql,sql-server,tsql,Sql,Sql Server,Tsql,这个表上没有触发器,尽管这个tSQL脚本只返回一行,偶尔。。。在LabNumber上有一个索引 SELECT * FROM dbo.MiniDataEntry WHERE LabNumber IN ( SELECT labnumber FROM dbo.MiniDataEntry WHERE EnteredDate > '7/10/2015'

这个表上没有触发器,尽管这个tSQL脚本只返回一行,偶尔。。。在LabNumber上有一个索引

SELECT  *
FROM    dbo.MiniDataEntry
WHERE   LabNumber IN ( SELECT   labnumber
                       FROM     dbo.MiniDataEntry
                       WHERE    EnteredDate > '7/10/2015'
                       GROUP BY LabNumber
                       HAVING   COUNT(*) > 1 )

我正在尝试确定今天是否有重复的实验室编号,不应该有。

查询中的一个错误是日期格式不正确-

7/10/2015 
被解释为字符串->您无法比较 正确地标注其他日期

您应该将字符串格式化为

2015-07-10

而且应该正确解释

sql中正确的日期格式是

“YYYY-MM-DD HH:MI:SS”


现在。(查看更多信息)

您在表中有什么类型的数据,以及它的变化频率有多高?
EnteredDate
上的条件总是参考
7/10/2015
还是每天都在变化?您的意思是它偶尔返回一行?这不是最有效的方法,因为您两次访问同一个基表。7/10/2015不是有效的日期格式,因此您将日期作为字符串进行比较
2015年7月9日
将根据永远不应返回一行的COUNT(*)1进行比较,结果大于2015年7月10日。您需要检查数据是否损坏(例如检查表)。不是最有效的语法,但我严重怀疑这是一个语法问题。返回的一行实际上是重复的吗?我更改了日期以转换(日期,'7/10/2015')相同的结果。TSQL将转换该格式尝试选择'7/10/2015',强制转换('7/10/2015'为datetime)EnteredDate是DataTime,则字符串值必须是有效的datetime