powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Английский SSMS + региональные настройки
18 сообщений из 43, страница 2 из 2
Английский SSMS + региональные настройки
    #39914642
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны

Vladlmlr
Нужно просто для удобства отладки хранимок, порой тяжело читать дату по англицки ;-)

А по-флоатски не тяжело?

Ну была бы возможность скопипастить значение дататайма, как флоат, чтобы подать на вход хранимке, пользовался бы вместо стирания дефисов (см. выше).
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914648
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shakill

какой числовой тип соответствует типу datetime? так чтоб хранилось один в один

Shakill, я уже приводил пример, как реально хранится дататайм. Чтобы хранилось один в один - НЕТ такого типа.
Половина длины байт - дни, половина - время в долях от 24 часов.
Посему и точность 1/300 сек(дататайм) - вес одного битика. См. пример: я прибавил 1/300 и появилась единичка в младших 4 байтах(единичка первого числа в старших 4 осталась ;-).
Там же я и приводил хранение флоата - оно абсолютно другое. НО!!!!!! Так как по факту хранение дататайм это всегда целые дни и дробное время, то ОНО И КАСТИТСЯ КОРРЕКТНО с таким типом ФЛОАТ. И прекрасно и легко работает без вызова функций
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914681
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите не в тему вопроса, но в "тему ветки" дататайм = флоат.
Если понимать это, то можно не только складывать, умножать ;-) даты, но и красиво группировать по временному полю.
Идея проста: в какую часть попадет наше временное поле при умножение его на вес этого интервала в сутках.

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 по теме вопроса.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914717
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr
но и красиво группировать по временному полю.
Всю красоту уже давно придумали, причем не привязанную только к datetime:
Код: sql
1.
2.
3.
select dateadd(minute, (datediff(minute, '1900', TM) / 45) * 45, '1900') [TM], sum(V) 'S'
from @T
group by datediff(minute, '1900', TM) / 45
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914721
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока с очередной версией сервера MS вашу секту лавочку любителей datetime = float не прикроют. C datetime2 уже прикрыли. Но вы упорно продолжаете раскладывать грабли на все эти случаи для тех, кто будет потом поддерживать ваш чудо-код и не дай бог портировать его под другие типы даты.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914733
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Профессиональная разработка должна производиться документированными средствами. Дома делайте что хотите, любые "лайфхаки".
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914738
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm
Vladlmlr
но и красиво группировать по временному полю.
Всю красоту уже давно придумали, причем не привязанную только к datetime:
Код: sql
1.
2.
3.
select dateadd(minute, (datediff(minute, '1900', TM) / 45) * 45, '1900') [TM], sum(V) 'S'
from @T
group by datediff(minute, '1900', TM) / 45


Я разве против функций. Каждый кузнец своего счастья. Просто на больших выборках вызов функций даст свою копеечку к нагрузке.
Ну уж и для чистоты: объявите дату тайм переменную, положите в нее НОЛЬ, а то константу 1900 крайне рисковано использовать, вдруг выйдит ужасный СКЛ с другой точкой отсчета? ;-)

invm, ну пожалуйста, у Вас SSMS юзает формат даты винды для отображения даты?
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914744
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Пока с очередной версией сервера MS вашу секту лавочку любителей datetime = float не прикроют. C datetime2 уже прикрыли. Но вы упорно продолжаете раскладывать грабли на все эти случаи для тех, кто будет потом поддерживать ваш чудо-код и не дай бог портировать его под другие типы даты.

имхо, умрете с этой мечтой. Для того и ввели новый тип дататайм2. Ну или ссылочку дайте на столь важную инфу, что каст дататайма к флоату отменяется. Буду благодарен и учту в разработке.

Владислав Колосов
Профессиональная разработка должна производиться документированными средствами. Дома делайте что хотите, любые "лайфхаки".

Простите, стесняющийся бухгалтер, но ваши сообщения крайне полезны и информативны ;-)
Хоть одно бы слово в тему. Например, у вас больной комп, а я ставлю в винде dd/mm/yyyy и даже не перегружая SSMS вижу резалт, потом обратно dd.mm.yyyy и тоже вижу.
От себя я пока только про десятичный разделитель так могу сказать.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914752
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr

Люди, простой вопрос: SSMS должен для ОТОБРАЖЕНИЯ ДАТЫ использовать локальные настройки винды или зависит от языка SSMS и не лечится?

ни от чего это не зависит.
SSMS показывает дату всегда в виде yyyy-mm-dd.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914754
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr,

грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно?
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914755
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123
Vladlmlr

Люди, простой вопрос: SSMS должен для ОТОБРАЖЕНИЯ ДАТЫ использовать локальные настройки винды или зависит от языка SSMS и не лечится?

ни от чего это не зависит.
SSMS показывает дату всегда в виде yyyy-mm-dd.

Спасибо, добрый человек.
Офигеть, в голове не укладывается. Простите, это точно? Может вы, такой же "счастливчик", как я.
Чем это майкрософт может объяснить?
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914762
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов
Vladlmlr,

грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно?

На много информативнее всего предыдущего. Я бы конечно спросил у вас, чем так дата по сравнению с запятой провинилась. Но боюсь, вы так любите стандарты.

У меня предложение для Glory: в топе вопросов №8 там тем более точки нет ;-) можно написать?: SSMS показывает дату всегда в виде yyyy-mm-dd

Люди, а так было всегда? С СКЛ 2000-2005 тоже?
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914767
baracs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr
Владислав Колосов
Vladlmlr,

грид отображает даты в универсальном ISO формате, а не в национальном. Так более информативно?
Я бы конечно спросил у вас, чем так дата по сравнению с запятой провинилась. Но боюсь, вы так любите стандарты.
Он любит общепринятые стандарты, а вы - свои собственные.
Второе гораздо страшнее.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914770
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr

Да. Очень люблю работать с датойтаймом именно как флоат.
Просто прибавить/отнять любое количество дней (целое), любое время накинуть (дробное), откунуть дробную часть(время), получить дату или наоборот откунуть целое и получить время.

Доктор, я болен?


Уух, вот это жесть, 18+, Explicit Content , давно так не смеялся, спасибо!
Бедные, бедные люди, которые потом в дальнейшем будут все это сопровождать
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914771
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladlmlr,
прошу прощения что влезаю, но когда читаю вопросы на форуме, то невольно пытаюсь понять цель спрашивающего.
Не могу понять, у вас цель дискутировать, получить практическую пользу, иное?
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914774
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladlmlrЧем это майкрософт может объяснить?Вам сюда: https://support.microsoft.com/en-in
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914831
Vladlmlr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iiyama
Vladlmlr,
прошу прощения что влезаю, но когда читаю вопросы на форуме, то невольно пытаюсь понять цель спрашивающего.
Не могу понять, у вас цель дискутировать, получить практическую пользу, иное?

У меня постоянно точно такой же вопрос к отвечающим.
Ответ на второй день с горем пополам получил. Ведь это был такой сложный вопрос: использует ли SSMS для отображения даты региональные сеттинги винды? Загните пальцы сколько ответов (и сколько из них правильных) было по теме, а сколько выпадов и увода в сторону? Каких только ежиков не обсудили.
Спасибо.
...
Рейтинг: 0 / 0
Английский SSMS + региональные настройки
    #39914837
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Vladlmlr,

Раз у вас вопросов по существу больше не осталось, то закрыто.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Английский SSMS + региональные настройки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]