' T00附近的语法不正确:

时间:2017-11-20 07:43:23

标签: sql datetime iso

在一张桌子(ExchangeRates)中,我的日期类似于' dd.MM.yyyy'但是在其他表中,日期是在iso日期时间,因此当我尝试在where子句中进行比较时会出现错误' incorrenct语法在' T00附近:'。我尝试

时遇到同样的错误
convert(date, date_field_with_isotime, 104)

select top 1 * 
from ExchangeRates 
where ExchangeDate = dateadd(day, date_field_with_isotime, -1)

1 个答案:

答案 0 :(得分:0)

让我们假设你的数据是

date_field_with_isotime        ExchangeDate
(varhcar, ISO 8601 formatted)  (date)  
2017-11-20                     19/11/2017 00:00:00
2017-11-19                     19/11/2017 00:00:00
2017-11-18                     19/11/2017 00:00:00

查询应该是这样的:

select top 1 * 
from dbo.ExchangeRates
where ExchangeDate = dateadd(day, -1, convert(date, date_field_with_isotime, 120)) 

但仍然是" TOO:"声明很奇怪,检查表格是否有触发器。