Сравнение даты и времени в SQL Server в разных форматах - PullRequest
0 голосов
/ 05 сентября 2011

У меня есть SQL-запрос, в котором я буду передавать dd/mm/yyyy, но для SQL-запроса требуется mm/dd/yyyy.

. Как мне разрешить этому запросу принимать dd/mm/yyyy и отображать правильный результат направильный формат?Как лучше всего добиться этого в SQL Server 2008?

SELECT int_ExchangeRateId, int_LocationId, dtm_Date
FROM ExchangeRate
WHERE dtm_Date >= '01/02/2006' AND dtm_Date <= '12/02/2006' AND int_LocationId = 98

ЭТО РАБОТАЕТ ПРАВИЛЬНО:

SELECT int_ExchangeRateId, int_LocationId,dtm_Date 
FROM ExchangeRate 
WHERE CAST(dtm_Date AS DATE) BETWEEN '2006-02-02' AND '2006-02-12' 
  AND int_LocationId=98

Ответы [ 2 ]

5 голосов
/ 05 сентября 2011

Для запроса я бы использовал даты в формате YYYY-MM-DD. Что касается вывода, см. Ответ Каляна.

РЕДАКТИРОВАТЬ: Чтобы суммировать комментарии ниже (спасибо marc_s) необходимо использовать формат YYYYMMDD, когда часть времени не включена , если вы используете новый типы дат date, datetime2 и datetimeoffset в SQL Server 2008.

2 голосов
/ 05 сентября 2011

Обратитесь к DateTime Formating для этой цели, предоставив определенные параметры, мы можем отформатировать дату в необходимый формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...