Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
Мальчики, помогите разобраться с датой.

Есть два SQL сервера, на которых два одинаковых приложения работают.

НО на одном сервере данные в таблицу пишутся в формате YYYYMMDD, а на другом YYYYDDMM.


Какие настройки можно посмотреть?


В свойствах сервера-адвансед - дефоулт лэнгвич одинаковый.

В свойствах БД - экстендет пропертиес - одинаковый.

В свойствах логин на сервере дефоул лэнгвич - одинаковые.


Где еще можно посмотреть настройки даты?
7 апр 17, 16:10    [20378365]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
o-o
Guest
какой тип у поля?
7 апр 17, 16:13    [20378379]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
Региональные настройки на клиентских машинах, где приложения работают.
7 апр 17, 16:15    [20378385]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
o-o
какой тип у поля?

тип поля datetime
7 апр 17, 16:32    [20378512]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
ziktuw
Региональные настройки на клиентских машинах, где приложения работают.


Приложение по обработке запущено на сервере где SQLServer, региональные настройки там одинаковые в ОС.
7 апр 17, 16:33    [20378521]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
o-o
Guest
a.tarannikova
o-o
какой тип у поля?

тип поля datetime

данные все одинаково ложатся,
это кто-то по-разному их отображает
7 апр 17, 16:36    [20378537]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
o-o
a.tarannikova
пропущено...

тип поля datetime

данные все одинаково ложатся,
это кто-то по-разному их отображает

Вот что еще, разные значения выдаются пир запросе:

select s.date_format, s.language, s.date_first
from	sys.dm_exec_sessions s
INNER JOIN sys.sysprocesses sp ON sp.spid=s.session_id
WHERE db_name(sp.dbid) IN ('DB1')


--на одном
mdy	us_english	7

--на другом
dmy	русский	1



Это свойствами приложения задается?
7 апр 17, 16:43    [20378589]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
o-o
a.tarannikova
пропущено...

тип поля datetime

данные все одинаково ложатся,
это кто-то по-разному их отображает


не, в том-то и прикол что на одном сервере они в datetime пишутся в итоге с перепутанными числом и датой.
7 апр 17, 16:44    [20378599]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Еще раз, для тех, кто в танке. В поле datetime хранится дата-время без формата, просто нули и единицы, однозначно задающие дату и время. Чтобы эти нули и единицы нормально отобразить, разные приложения могут по разному изваращаться - некоторые могут смотреть в текущую локаль, другие могут смотреть на язык логина, а иные - так на фазу луны вовсе. Но в любом случае, проблемы _отображения_ этой информации никаким образом к MSSQL не относятся.
7 апр 17, 16:46    [20378612]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
Гавриленко Сергей Алексеевич
Еще раз, для тех, кто в танке. В поле datetime хранится дата-время без формата, просто нули и единицы, однозначно задающие дату и время. Чтобы эти нули и единицы нормально отобразить, разные приложения могут по разному изваращаться - некоторые могут смотреть в текущую локаль, другие могут смотреть на язык логина, а иные - так на фазу луны вовсе. Но в любом случае, проблемы _отображения_ этой информации никаким образом к MSSQL не относятся.


Если бы дело было в отображении....

Они пишутся неверно.
7 апр 17, 16:48    [20378625]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
a.tarannikova
Если бы дело было в отображении....

Они пишутся неверно.
Как вы это проверили?
7 апр 17, 16:50    [20378639]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7869
a.tarannikova
Гавриленко Сергей Алексеевич
Еще раз, для тех, кто в танке. В поле datetime хранится дата-время без формата, просто нули и единицы, однозначно задающие дату и время. Чтобы эти нули и единицы нормально отобразить, разные приложения могут по разному изваращаться - некоторые могут смотреть в текущую локаль, другие могут смотреть на язык логина, а иные - так на фазу луны вовсе. Но в любом случае, проблемы _отображения_ этой информации никаким образом к MSSQL не относятся.


Если бы дело было в отображении....

Они пишутся неверно.


Значит клиент дату передает строкой а не датой.
7 апр 17, 17:00    [20378707]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
Гавриленко Сергей Алексеевич
a.tarannikova
Если бы дело было в отображении....

Они пишутся неверно.
Как вы это проверили?


Вот так:

--101 = мм/дд/гггг
SELECT (SELECT CONVERT(nvarchar(30), GETDATE(), 101)), CONVERT(nvarchar(30), MyDate, 101) FROM MyTable



04/07/2017	        06/04/2017



Должно быть 04/06/2017, т.е. вчерашний день, а не июнь.
7 апр 17, 17:02    [20378713]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
o-o
Guest
ждем картинку на форуме
с выполнением в окне студии кода
select convert(char(8), mydate, 112) from mytable
7 апр 17, 17:06    [20378730]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Передавайте привет писателям даты. Впрочем, 13го числа они сами все поймут.
7 апр 17, 17:07    [20378741]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
o-o
ждем картинку на форуме
с выполнением в окне студии кода
select convert(char(8), mydate, 112) from mytable


К сообщению приложен файл. Размер - 23Kb
7 апр 17, 17:11    [20378756]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
Гавриленко Сергей Алексеевич
Передавайте привет писателям даты. Впрочем, 13го числа они сами все поймут.


да да, я этого и боюсь.

Просто на одном сервере работает нормально, на другом перепутано.
7 апр 17, 17:12    [20378761]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
a.tarannikova
Просто на одном сервере работает нормально, на другом перепутано.
Это код записи кривой. Нормальный код пишет дату нормально при любых региональных настройках.

Сообщение было отредактировано: 7 апр 17, 17:15
7 апр 17, 17:14    [20378768]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
o-o
Guest
а месяц назад что они делали, простите?
ведь 13/03..31/03 уже было
7 апр 17, 17:17    [20378777]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
o-o
а месяц назад что они делали, простите?
ведь 13/03..31/03 уже было


я так понимаю это новый сервер.
7 апр 17, 17:18    [20378779]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
a.tarannikova
o-o
пропущено...

данные все одинаково ложатся,
это кто-то по-разному их отображает

Вот что еще, разные значения выдаются пир запросе:

select s.date_format, s.language, s.date_first
from	sys.dm_exec_sessions s
INNER JOIN sys.sysprocesses sp ON sp.spid=s.session_id
WHERE db_name(sp.dbid) IN ('DB1')


--на одном
mdy	us_english	7

--на другом
dmy	русский	1



Это свойствами приложения задается?



Кроме как через
SET DATEFORMAT 
SET LANGUAGE 
SET DATEFIRST 


это как-нибудь можно задать?
7 апр 17, 18:45    [20379129]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
a.tarannikova
это как-нибудь можно задать?
Можно ли этими настройками менять поведение вашего приложения, спросите у разработчиков вашего приложения.

Сообщение было отредактировано: 7 апр 17, 19:04
7 апр 17, 18:48    [20379135]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
наутилус
Member

Откуда: UA
Сообщений: 1261
a.tarannikova,

вам от приложения надо танцевать, а не от настроек сервера.
приложение некорректно формирует дату? если на обоих машинах одинаковое приложение, а работает по разному - значит вопрос к настройкам конкретной ОС

доступа к исходникам приложений нет?
7 апр 17, 18:50    [20379145]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
a.tarannikova
Member

Откуда:
Сообщений: 153
наутилус
a.tarannikova,

вам от приложения надо танцевать, а не от настроек сервера.
приложение некорректно формирует дату? если на обоих машинах одинаковое приложение, а работает по разному - значит вопрос к настройкам конкретной ОС

доступа к исходникам приложений нет?



А есть какой-нибудь скрипт, который все языковые настройки сервера показывает?

типа sp_helplanguage только по текущим настройкам сервера, баз и пользователей.
7 апр 17, 19:12    [20379190]     Ответить | Цитировать Сообщить модератору
 Re: Непонятки с датой.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7869
a.tarannikova,

причем тут региональные настройки? Бейте по рукам разработчиков, которые дату символьной строкой передают на сервер.
8 апр 17, 01:18    [20379902]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить