在一张桌子(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)
答案 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:"声明很奇怪,检查表格是否有触发器。