|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Vladlmlr Нужно просто для удобства отладки хранимок, порой тяжело читать дату по англицки ;-) А по-флоатски не тяжело? Ну была бы возможность скопипастить значение дататайма, как флоат, чтобы подать на вход хранимке, пользовался бы вместо стирания дефисов (см. выше). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 09:00 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Shakill какой числовой тип соответствует типу datetime? так чтоб хранилось один в один Shakill, я уже приводил пример, как реально хранится дататайм. Чтобы хранилось один в один - НЕТ такого типа. Половина длины байт - дни, половина - время в долях от 24 часов. Посему и точность 1/300 сек(дататайм) - вес одного битика. См. пример: я прибавил 1/300 и появилась единичка в младших 4 байтах(единичка первого числа в старших 4 осталась ;-). Там же я и приводил хранение флоата - оно абсолютно другое. НО!!!!!! Так как по факту хранение дататайм это всегда целые дни и дробное время, то ОНО И КАСТИТСЯ КОРРЕКТНО с таким типом ФЛОАТ. И прекрасно и легко работает без вызова функций ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 09:19 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Простите не в тему вопроса, но в "тему ветки" дататайм = флоат. Если понимать это, то можно не только складывать, умножать ;-) даты, но и красиво группировать по временному полю. Идея проста: в какую часть попадет наше временное поле при умножение его на вес этого интервала в сутках. declare @TM datetime = '1.1.2020', @dT datetime = 1.0/24/60 declare @T table (TM datetime, V int) while @TM < '2.1.2020' begin insert @T values (@TM, 1) select @TM = @TM + @dT end select TM, sum(V) 'S' from @T group by TM declare @r float = 45--интервал в минутах declare @f float = 60 / @r * 24 select cast(floor(cast(TM as float) * @f) / @f as smalldatetime) [TM], sum(V) 'S' from @T group by floor(cast(TM as float) * @f) select @r= 10, @f = 60 / @r * 24 select cast(cast(cast(TM as float) * @f as int) / @f as smalldatetime) [TM], sum(V) 'S' from @T group by cast(cast(TM as float) * @f as int) Первый резалт ожидаемо даст все 1440 строк с суммой 1. Второй корректно разобъет по 45 минут и даст 32 строки с суммой по 45. И если понять как это, то можно для интервалов (5, 10, 15, 20, 30... ) которые дадут "целый" вес можно функцию убрать, а кастить прямо к инту (резалт 3). И магия не в поминутных исходных данных, если понять. И конечно не в круглых интервалах, хоть 57 минут поставьте для ВТОРОГО резалта. ЗЫ. Очень жду ответа от AndrF по теме вопроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 10:29 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr но и красиво группировать по временному полю. Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 11:16 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Пока с очередной версией сервера MS вашу секту лавочку любителей datetime = float не прикроют. C datetime2 уже прикрыли. Но вы упорно продолжаете раскладывать грабли на все эти случаи для тех, кто будет потом поддерживать ваш чудо-код и не дай бог портировать его под другие типы даты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 11:22 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Профессиональная разработка должна производиться документированными средствами. Дома делайте что хотите, любые "лайфхаки". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 11:45 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
invm Vladlmlr но и красиво группировать по временному полю. Код: sql 1. 2. 3.
Я разве против функций. Каждый кузнец своего счастья. Просто на больших выборках вызов функций даст свою копеечку к нагрузке. Ну уж и для чистоты: объявите дату тайм переменную, положите в нее НОЛЬ, а то константу 1900 крайне рисковано использовать, вдруг выйдит ужасный СКЛ с другой точкой отсчета? ;-) invm, ну пожалуйста, у Вас SSMS юзает формат даты винды для отображения даты? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 11:56 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Пока с очередной версией сервера MS вашу секту лавочку любителей datetime = float не прикроют. C datetime2 уже прикрыли. Но вы упорно продолжаете раскладывать грабли на все эти случаи для тех, кто будет потом поддерживать ваш чудо-код и не дай бог портировать его под другие типы даты. имхо, умрете с этой мечтой. Для того и ввели новый тип дататайм2. Ну или ссылочку дайте на столь важную инфу, что каст дататайма к флоату отменяется. Буду благодарен и учту в разработке. Владислав Колосов Профессиональная разработка должна производиться документированными средствами. Дома делайте что хотите, любые "лайфхаки". Простите, стесняющийся бухгалтер, но ваши сообщения крайне полезны и информативны ;-) Хоть одно бы слово в тему. Например, у вас больной комп, а я ставлю в винде dd/mm/yyyy и даже не перегружая SSMS вижу резалт, потом обратно dd.mm.yyyy и тоже вижу. От себя я пока только про десятичный разделитель так могу сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:13 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr Люди, простой вопрос: SSMS должен для ОТОБРАЖЕНИЯ ДАТЫ использовать локальные настройки винды или зависит от языка SSMS и не лечится? ни от чего это не зависит. SSMS показывает дату всегда в виде yyyy-mm-dd. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:24 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr, грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:28 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Yasha123 Vladlmlr Люди, простой вопрос: SSMS должен для ОТОБРАЖЕНИЯ ДАТЫ использовать локальные настройки винды или зависит от языка SSMS и не лечится? ни от чего это не зависит. SSMS показывает дату всегда в виде yyyy-mm-dd. Спасибо, добрый человек. Офигеть, в голове не укладывается. Простите, это точно? Может вы, такой же "счастливчик", как я. Чем это майкрософт может объяснить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:32 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Владислав Колосов Vladlmlr, грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно? На много информативнее всего предыдущего. Я бы конечно спросил у вас, чем так дата по сравнению с запятой провинилась. Но боюсь, вы так любите стандарты. У меня предложение для Glory: в топе вопросов №8 там тем более точки нет ;-) можно написать?: SSMS показывает дату всегда в виде yyyy-mm-dd Люди, а так было всегда? С СКЛ 2000-2005 тоже? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:42 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr Владислав Колосов Vladlmlr, грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно? Второе гораздо страшнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:48 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr Да. Очень люблю работать с датойтаймом именно как флоат. Просто прибавить/отнять любое количество дней (целое), любое время накинуть (дробное), откунуть дробную часть(время), получить дату или наоборот откунуть целое и получить время. Доктор, я болен? Уух, вот это жесть, 18+, Explicit Content , давно так не смеялся, спасибо! Бедные, бедные люди, которые потом в дальнейшем будут все это сопровождать ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:52 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
Vladlmlr, прошу прощения что влезаю, но когда читаю вопросы на форуме, то невольно пытаюсь понять цель спрашивающего. Не могу понять, у вас цель дискутировать, получить практическую пользу, иное? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:53 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
VladlmlrЧем это майкрософт может объяснить?Вам сюда: https://support.microsoft.com/en-in ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 12:58 |
|
Английский SSMS + региональные настройки
|
|||
---|---|---|---|
#18+
iiyama Vladlmlr, прошу прощения что влезаю, но когда читаю вопросы на форуме, то невольно пытаюсь понять цель спрашивающего. Не могу понять, у вас цель дискутировать, получить практическую пользу, иное? У меня постоянно точно такой же вопрос к отвечающим. Ответ на второй день с горем пополам получил. Ведь это был такой сложный вопрос: использует ли SSMS для отображения даты региональные сеттинги винды? Загните пальцы сколько ответов (и сколько из них правильных) было по теме, а сколько выпадов и увода в сторону? Каких только ежиков не обсудили. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2020, 14:44 |
|
|
start [/forum/topic.php?fid=46&msg=39914721&tid=1686646]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 137ms |
0 / 0 |