我要选择日期
SELECT [Dt]
,[CustomerName]
,[PayerName]
,[ItemRelation]
,[ProductName]
,[SaleCount]
,[DocumentNum]
,[DocumentYear]
,[IsPromo]
,[CustomerType]
,[koef]
FROM [Action].[dbo].[mytab1]
where dt> 2018-06-27
order by dt
结果我明白了
Dt
2017-10-12 00:00:00.000
2017-10-12 00:00:00.000
2017-10-12 00:00:00.000
2017-10-12 00:00:00.000
2017-10-13 00:00:00.000
2017-10-13 00:00:00.000
2017-10-13 00:00:00.000
2017-10-13 00:00:00.000
2017-10-14 00:00:00.000
2017-10-14 00:00:00.000
怎么了?为什么查询会返回我所有数据,而不是> 2018-06-27
答案 0 :(得分:5)
就像肖恩(Sean)所说的那样,这里的问题是您正在使用数值表达式HttpMessageHandler
,其结果为2018-06-27
。如果将1985
转换为1985
,则会得到值datetime
,因此1905-06-09 00:00:00.000
子句实际上是:
WHERE
就像肖恩一样,请使用文字字符串和明确的格式(它们是WHERE dt> '1905-06-09T00:00:00.000'
和yyyyMMdd
。因此,您的yyyyMMddThh:mm:ss.sss
子句应为:
WHERE
答案 1 :(得分:2)
@ D.Joe,您需要将日期变量更改为单引号。
发件人:
WHERE dt > '20180627'
收件人:
SELECT [Dt]
,[CustomerName]
,[PayerName]
,[ItemRelation]
,[ProductName]
,[SaleCount]
,[DocumentNum]
,[DocumentYear]
,[IsPromo]
,[CustomerType]
,[koef]
FROM [Action].[dbo].[mytab1]
where dt> 2018-06-27
order by dt