我有一个连接两个表的查询。 连接在多个列上完成,包括一个dateTime列。 我现在的问题是,一个dateTime列存储毫秒,而另一个表是从一个不包含毫秒的文件填充的 正因为如此,连接永远不会返回结果。MS SQL加入日期时间
有什么办法通过SQl忽略毫秒?
我有一个连接两个表的查询。 连接在多个列上完成,包括一个dateTime列。 我现在的问题是,一个dateTime列存储毫秒,而另一个表是从一个不包含毫秒的文件填充的 正因为如此,连接永远不会返回结果。MS SQL加入日期时间
有什么办法通过SQl忽略毫秒?
如果aTable.date包含millisenconds和bTable.date没有,对它们进行比较:
... WHERE convert(varchar, aTable.date, 120) = bTable.date
转换日期时间与ARG2为varchar = 120产生这种格式:ODBC canonical yyyy-mm-dd hh:mi:ss
这仍然有一个函数但避免字符串和转换
WHERE
aTable.date >= bTable.date
AND
aTable.date < DATEADD(second, 1, bTable.date)
完美的作品,谢谢! – kilhra 2009-09-25 08:07:59
这增加了另一个明确的转换回日期时间。 – gbn 2009-09-25 15:35:21