Страница 1 из 1

дата в режиме БД SQL

Добавлено: 08 сен 2017, 11:26
Nik-An
NHSMS v3.1.0.42 (тестовая) БД в режиме sql

Обнаружил такую особенность:
в БД параметр 1 (RegisteredTime) я пишу сам формате "2017-09-08 10:05:14" и он воспринимается корректно, как 8 сентября.
Параметр 2 (SentTime) и параметр 3 (DeliveredTime) заполняет nhsms. И они считываются как "2017-08-09 10:05:14" - то есть как 9 августа!
2017-09-08_10-53-02 (2).png
Подскажите, это мой sql сервер делает неправильные преобразования даты или "криво" пишет nhsms?

Re: дата в режиме БД SQL

Добавлено: 09 сен 2017, 19:39
nhutils
как называется SQL драйвер – "SQL Server" или по-другому?

Re: дата в режиме БД SQL

Добавлено: 09 сен 2017, 19:53
Nik-An
Строка подключения: ConnectionString=DRIVER={SQL Server}; SERVER=SERVER1C\1C; UID=User; PWD=pass; DATABASE=SMS; LANGUAGE=русский

Re: дата в режиме БД SQL

Добавлено: 09 сен 2017, 20:21
Nik-An
UPD: сервер SQL: MS SQL 2012 x64
2017-09-09_20-22-22.png
2017-09-09_20-22-22.png (3.41 КБ) 6648 просмотров

Re: дата в режиме БД SQL

Добавлено: 10 сен 2017, 14:02
nhutils
Да, точно, SQL Server воспринимает в другом порядке:

Код: Выделить всё

SQL>update nhsms set DeliveredTime='2017-09-10 04:11:00.000' where MessageId=1
Rows affected: 1. No rows selected. Execution time 0.000s.

SQL>select messageid,registeredtime,senttime,deliveredtime from nhsms

select messageid,registeredtime,senttime,deliveredtime from nhsms
  messageid registeredtime          senttime                deliveredtime

----------- ----------------------- ----------------------- -----------------------
          1 2017-09-10 04:11:23.823 2017-10-09 04:11:29.000 2017-10-09 04:11:00.000
Поэтому для SQL Server сделаю принудительное указание формата, и будет записываться правильно. В следующем релизе будет.

Re: дата в режиме БД SQL

Добавлено: 14 сен 2017, 15:46
nhutils
Исправлено в v3.1.0.43, описание http://nhutils.ru/blog/nhsms-v3-1-0/