我有一个连接两个表的查询。 连接在几个列上完成,包括dateTime列。 我目前的问题是一个dateTime列存储毫秒而另一个表是从一个不包含毫秒的文件填充的 因此,连接将永远不会返回结果。
有没有办法让SQl忽略毫秒?
答案 0 :(得分:1)
如果aTable.date包含毫秒且bTable.date不包含,则比较它们:
... WHERE convert(varchar, aTable.date, 120) = bTable.date
使用arg2 = 120将datetime转换为varchar会生成以下格式:ODBC canonical yyyy-mm-dd hh:mi:ss
答案 1 :(得分:0)
这仍然有功能,但避免字符串和转换
WHERE
aTable.date >= bTable.date
AND
aTable.date < DATEADD(second, 1, bTable.date)