Трудно точно понять, что происходит, не видя код, который выдает. Тем не менее, если вам нужно сообщать даты в SQL Server, обычно рекомендуется использовать стандарт ISO 8601 для представления, поскольку он однозначен и не зависит от локали. Наиболее важные форматы:
yyyy-MM-dd
для дат
hh:mm:ss
за время
yyyy-MM-dd hh:mm:ss
для даты / времени
Я предполагаю, что у вас есть запрос, который отправляет даты в текущей локали, а локаль на сервере не совпадает.
Редактировать: И для справки, это не исключает того, что Роб сказал в своем ответе, то есть старался вообще не передавать жестко запрограммированные даты или SQL. Это применимо, только если вам нужно по какой-то причине .
Редактировать 2: Мне сообщили, что формат yyyy-MM-dd
может все же быть неправильным для некоторых локалей; поэтому вместо этого, если вам нужно передать буквальную строку даты, вы должны вместо этого использовать yyyyMMdd
.