Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
08.07.2022, 11:28
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Попался в ловушку, в которую ловился лет 15 лет назад и совсем про нее забыл. 7 июля (2022-07-07) во второй половине дня запилил два батника, которые закидывали данные в MS SQL Server с помощью sqlcmd. В процедуре было поле datetime, в скрипте я его формировал через переменные %date% и %time%, в одном месте между ними поставил пробел, в другом - "T". Запятую перед долями секунды менял на точку. Проверил все командой эхо, все было норм. Утром смотрю - какая-то фигня. Из одного источника данных с полуночи вообще нет, из другого - уползли в другой месяц. В общем, правильное решение: 1. В региональных параметрах пользователя, из-под которого будет запускаться скрипт, формат даты в обоих местах должен быть "yyyy-MM-dd". 2. Формат времени "HH:mm:ss" для cmd работает не так, как надо, он все равно до 10 утра будет ставить пробел вместо начального ноля. Поэтому в скрипте меняем пробел на ноль и запятую на точку. Буква "T" между датой и временем нужна, чтобы скуль точно знал, о каком формате идет речь и не вздумал месяц с датой местами поменять. Код 1. 2. 3. 4. 5.
... |
|||
:
|
|||
|
08.07.2022, 11:51
|
|||
---|---|---|---|
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
чтобы скуль точно знал, о каком формате идет речь и не вздумал месяц с датой местами поменять... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.07.2022, 12:07
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
чтобы скуль точно знал, о каком формате идет речь и не вздумал месяц с датой местами поменять... А если datetime, то как я написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.07.2022, 12:18
#82395
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||||||||||||||
#18+
чтобы скуль точно знал, о каком формате идет речь и не вздумал месяц с датой местами поменять... А если datetime, то как я написал. ... |
|||||||||||||||
:
Нравится:
Не нравится:
|
|||||||||||||||
|
08.07.2022, 12:25
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.07.2022, 13:40
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Я в явном виде cast или convert не использовал. Сейчас попробую повторить ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.07.2022, 13:44
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
чтобы скуль точно знал, о каком формате идет речь и не вздумал месяц с датой местами поменять... А если datetime, то как я написал. 2022-07-08T13:42:17.675 - это мировой стандарт, про который знает скуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.07.2022, 13:49
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Что его можно использовать в date, я знал, но использовать его в datetime мне казалось нелогичным. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.08.2022, 18:26
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Тема была перенесена из форума 'Вопросы по IT'. ... |
|||
Администратор:
Тема была перенесена из форума 'Вопросы по IT'.
Нравится:
Не нравится:
|
|||
|
25.08.2022, 21:58
|
|||
---|---|---|---|
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Что его можно использовать в date, я знал, но использовать его в datetime мне казалось нелогичным. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.08.2022, 19:26
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Просто Трёп [игнорируется] строка в дату или дата в строку лучше всего преобразовывать функцией convert с 3мя параметрами. 3й параметр как раз формат строки входящей/исходящей. ... |
|||
:
|
|||
|
30.08.2022, 01:04
|
|||
---|---|---|---|
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Чому нi 'format'? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2022, 08:50
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Формат только в строку. Из строки в дату не получится ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2022, 09:02
|
|||
---|---|---|---|
|
|||
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Ну к примеру в csv поле d пришло в виде даты в основном даты в формате гггг.мм.дд но встречаются и в формате дд.мм.гггг в одном файле Использую select coalesce( try_convert(date,d,102), try_convert(date,d,104) ) ... ... |
|||
:
|
|||
|
30.08.2022, 09:06
|
|||
---|---|---|---|
cmd, sqlcmd, %date% %time% to MS SQL datetime |
|||
#18+
Ну к примеру в csv поле d пришло в виде даты в основном даты в формате гггг.мм.дд но встречаются и в формате дд.мм.гггг в одном файле Использую select coalesce( try_convert(date,d,102), try_convert(date,d,104) ) ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=17&tablet=1&tid=2909]: |
0ms |
get settings: |
22ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
1096ms |
get tp. blocked users: |
2ms |
others: | 32ms |
total: | 1216ms |
0 / 0 |