powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
6 сообщений из 6, страница 1 из 1
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876861
rumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здрасти.
Есть простая конвертация в дату
Код: sql
1.
select convert(datetime,convert(varchar(10),getdate(),101))


Все хорошо работает на одном сервере. Поставили на другой и на нем эта же самая конвертация отваливается с ошибкой в sql manager.
Код: sql
1.
2.
Msg 242, Level 16, State 3, Line 11
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.


На обоих серверах стоит SQL Server 2008 R2 Express, региональные настройки по дате в винде одинаковые.
Если выставить 104 формат,то все работает на обоих серверах.
В чем проблема?
...
Рейтинг: 0 / 0
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876872
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравни результаты выполнения на серверах:
Код: sql
1.
dbcc useroptions


обрати внимание на dateformat в результатах
...
Рейтинг: 0 / 0
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876875
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rumkaВсем здрасти.
Есть простая конвертация в дату
Код: sql
1.
select convert(datetime,convert(varchar(10),getdate(),101))



Все хорошо работает на одном сервере. Поставили на другой и на нем эта же самая конвертация отваливается с ошибкой в sql manager.
Код: sql
1.
2.
Msg 242, Level 16, State 3, Line 11
The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.



На обоих серверах стоит SQL Server 2008 R2 Express, региональные настройки по дате в винде одинаковые.
Если выставить 104 формат,то все работает на обоих серверах.
В чем проблема?Пользуйтесь 112 или 126 стилем CONVERT().
И почему вы во внешнем CONVERTе не задаёте стиль? Тем самым используете стиль 0.
Он зависит от @@LANGUAGE и @@DATEFORMAT.
...
Рейтинг: 0 / 0
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876887
rumka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем.
Указание во внешнем Convert нужного стиля решает проблему.
Языки на серверах разные.
...
Рейтинг: 0 / 0
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876890
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру, что даст вот этот запрос в одной базе и в другой?
Код: sql
1.
2.
SELECT STUFF(STUFF(STUFF('___',F%10,1,'D'),F/100%10,1,'M'),F/10000,1,'Y')
FROM (SELECT CONVERT(CHAR, CAST('1/2/3' AS DATETIME),12)) D(F)
...
Рейтинг: 0 / 0
Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
    #39876989
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rumka,

если вы не можете изменить передаваемую строку в соответствии с ISO ГГГГММДД, то указывайте явно контекст языка, в котором должно выполняться преобразование даты: SET LANGUAGE ... (обязательно прочтите справку).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Одно и тоже преобразование в дату работает на одном сервере,но выдает ошибку на другом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]