Sql 一排偶尔回来
这个表上没有触发器,尽管这个tSQL脚本只返回一行,偶尔。。。在LabNumber上有一个索引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'
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