Непонятное преобразование строки в дату 2005 сервера

Степан
Дата: 26.02.2010 17:36:48
В хранимой процедуре 1с77 выполняется код
IF @day>25 SELECT @NewDate=DATEADD(mm, DATEDIFF(mm, '1753-01-01', @BeginOfPeriod), '1753-02-01')
который по идее должен выдавать начало следующего месяца. Но в действительности он выдает 2-е число даты @BeginOfPeriod. Те дату '1753-02-01' он интерпретирует как 2 января

От каких настроек СКЛ это зависит?
Зайцев Фёдор
Дата: 26.02.2010 17:39:36
SET DATEFORMAT | LANGUAGE
Паганель
Дата: 26.02.2010 17:39:58
set dateformat ymd
select month('1753-02-01') as result_ymd

set dateformat ydm
select month('1753-02-01') as result_ydm

result_ymd
-----------
2

(1 row(s) affected)

result_ydm
-----------
1

(1 row(s) affected)
еще от языка вроде может зависеть... не помню... стараюсь вообще так не писать...
Гавриленко Сергей Алексеевич
Дата: 26.02.2010 17:40:25
Зайцев Фёдор
Дата: 26.02.2010 17:40:32
а вообще, '1753-01-01' - не формат, а лотерея
Степан
Дата: 26.02.2010 17:42:04
я тоже так не пишу, но эта хранимка забита в самой системе, и при любом изменении она перезаписывается

так что единственный вариант - это установить настройки сервера, если это возможно
Степан
Дата: 26.02.2010 17:48:11
всем спасибо помогла установка
sp_defaultlanguage для пользователя
в английский