У меня есть строка с датой колонке в моей таблице:Как сравнить даты в SQL Server?
date1 = 2013-12-11 00:00:00.000
И я хочу, чтобы сравнить его с датой:
date2 = 11.12.2013 0:00:00
я:
SELECT *
FROM ServiceOrder
WHERE CreateDateTime <= '11.12.2013 0:00:00'
И я ожидал что в результате я получаю строку с date1
, но я не понимаю.
Как правильно установить дату для точного поиска?
UPDATE
Я пробовал:
SELECT *
FROM ServiceOrder
WHERE CreateDateTime<= CONVERT(VARCHAR(23),'11.12.2013 0:00:00', 121)
Но тот же результат.
UPDATE2
SELECT *
FROM ServiceOrder
WHERE CreateDateTime <= REPLACE(CONVERT(VARCHAR(19),'11.12.2013', 111),'/','-')
не работает, либо.
Update3
SELECT *
FROM ServiceOrder
WHERE CreateDateTime <= CONVERT(datetime,'11.12.2013 0:00:00', 104)
не работает, либо.
Как вы видите, ваши даты имеют разный характер. Используйте тот же шаблон, и у вас не будет проблем – bksi
Вам придется конвертировать дату. Вот ссылка, которую вы можете использовать, чтобы найти правильный метод преобразования: http://www.sql-server-helper.com/tips/date-formats.aspx –
@jorgeCampos: я пробовал дату cnvert, но не помогал. Я задаю вопрос/ –