2009-09-25 11 views
0

У меня есть запрос, который объединяет две таблицы. Соединение выполняется в нескольких столбцах, включая столбец dateTime. Проблема, с которой я сталкиваюсь в данный момент, состоит в том, что один столбец dateTime хранит миллисекунды, тогда как другая таблица заполняется из файла, который не содержит миллисекунд . Из-за этого соединение никогда не вернет результаты.MS SQL Присоединиться к dateTime

Есть ли какой-либо способ через SQl игнорировать миллисекунды?

ответ

1

Если aTable.date содержит millisenconds и bTable.date не делает, чтобы сравнить их:

... WHERE convert(varchar, aTable.date, 120) = bTable.date 

преобразования DateTime в VARCHAR с arg2 = 120 производят этот формат: ODBC canonical yyyy-mm-dd hh:mi:ss

+0

Это работает отлично, спасибо! – kilhra

+0

Что добавляет еще одно явное преобразование обратно в datetime. – gbn

0

Это все еще имеет функцию но избегать струн и конверсий

WHERE 
    aTable.date >= bTable.date 
    AND 
    aTable.date < DATEADD(second, 1, bTable.date) 
Смежные вопросы