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

Откуда: Kiev
Сообщений: 6801
Sergey Sizov,

хватит пороть чушь

автор
универсальны простых способов рассчитать длину диапазона дат в единицах, превышающих по размеру декаду,
3 окт 17, 10:35    [20838186]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
iap
Sergey Sizov
пропущено...
Для лучшего понимания сей хрени попробуйте ответить на вопрос "Сколько месяцев и дней между 29 января и 30 марта? То есть какова длина указанного диапазона дат в месяцах и днях? Варианты ответа:
1. 1 мес. и 30 д.
2. 2 мес. и 1 д.
3. 2 мес.
Зависит от полной даты 29 января!
Вот именно! А в абстрактом числе, полученном вычислением разности дат в днях, полностью отсутствует хоть какая-то привязка к конкретному году и потому НЕВОЗМОЖНО в принципе правильно определить и,
соответственно, учесть сей нюанс нашего любимого месяца февраля.
Но точный ответ всегда существует.
Для какой-то определенной методики расчета? Разумеется. А кто-то сие оспаривал?
3 окт 17, 10:37    [20838198]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
TaPaK
Sergey Sizov,

хватит пороть чушь

автор
универсальны простых способов рассчитать длину диапазона дат в единицах, превышающих по размеру декаду,
И где здесь чушь? Ткните меня носом в неё. Из чего следует, что я не знаю декаду?
3 окт 17, 10:39    [20838202]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov
TaPaK
Sergey Sizov,

хватит пороть чушь

пропущено...
И где здесь чушь? Ткните меня носом в неё. Из чего следует, что я не знаю декаду?

в чём сложность посчитать длину диапазона дат в единицах, превышающих по размеру десть?
3 окт 17, 10:43    [20838218]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
TaPaK
Sergey Sizov
пропущено...
И где здесь чушь? Ткните меня носом в неё. Из чего следует, что я не знаю декаду?

в чём сложность посчитать длину диапазона дат в единицах, превышающих по размеру десть?
В том, что единицы измерения, по размеру превышающие декаду не имеют фиксированного коэффициента пересчета в более мелкие единицы. Декада - последняя единица с фиксированным размером в днях/минутах/секундах и т.д. Все более крупные единицы измерения, то есть месяц/год/век и т.д., не могут быть однозначно пересчитаны в более мелкие единицы. Наиболее показательны в этом месяцы. Длина фиксированного в днях отрезка на шкале времени, выраженная в таких единицах, сильно зависит от положения этого отрезка на шкале времени.
3 окт 17, 10:51    [20838254]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov,

автор
Декада - последняя единица с фиксированным размером в днях/минутах/секундах и т.д

перегрелся, давайте следующего
3 окт 17, 10:57    [20838272]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
o-o
Guest
предлагаю перевести все анкеты ,
где требуется указть возраст в годах, в новый формат.
в связи с невозможностью посчитать возраст в годах,
просьба отныне указывате его в декадах
3 окт 17, 11:01    [20838294]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
o-o,
я за! Ибо в свое время сильно потрахался с расчетами всяких сроков/стажей/возрастов и т.д. как с календарным количеством дней в месяцах, так и с расчетным фиксированным, так и со средним...
3 окт 17, 11:06    [20838324]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov
o-o,
я за! Ибо в свое время сильно потрахался с расчетами всяких сроков/стажей/возрастов и т.д. как с календарным количеством дней в месяцах, так и с расчетным фиксированным, так и со средним...

с такой-то галимвтьёй в голове, вообще как вам разрешили что-то считать
3 окт 17, 11:08    [20838329]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
TaPaK
Sergey Sizov
o-o,
я за! Ибо в свое время сильно потрахался с расчетами всяких сроков/стажей/возрастов и т.д. как с календарным количеством дней в месяцах, так и с расчетным фиксированным, так и со средним...

с такой-то галимвтьёй в голове, вообще как вам разрешили что-то считать
Ну, галиматью еще надо доказать, чем вы, похоже, себя утруждать не собираетесь? Кстати, считал отнюдь не я, а комп. По ТЗ от экономистов и прочих, заведующих начислениями по этим стажам/срокам/возрастам. Так что это совершенно не моя "галиматья".
3 окт 17, 11:14    [20838350]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov
TaPaK
пропущено...

с такой-то галимвтьёй в голове, вообще как вам разрешили что-то считать
Ну, галиматью еще надо доказать, чем вы, похоже, себя утруждать не собираетесь? Кстати, считал отнюдь не я, а комп. По ТЗ от экономистов и прочих, заведующих начислениями по этим стажам/срокам/возрастам. Так что это совершенно не моя "галиматья".

доказываю:

автор
Декада - последняя единица с фиксированным размером в днях/минутах/секундах и т.д

это какой-то фиерический бред
3 окт 17, 11:18    [20838367]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
TaPaK
Sergey Sizov
пропущено...
Ну, галиматью еще надо доказать, чем вы, похоже, себя утруждать не собираетесь? Кстати, считал отнюдь не я, а комп. По ТЗ от экономистов и прочих, заведующих начислениями по этим стажам/срокам/возрастам. Так что это совершенно не моя "галиматья".

доказываю:

автор
Декада - последняя единица с фиксированным размером в днях/минутах/секундах и т.д
Не доказываете. 10 дней, даже неполные, таки однозначно пересчитываются в дни. Хотя соглашусь, что уже появляется привязка к месяцу/году, что уже вносит неоднозначность в чисто вычислительные способы расчетов.
это какой-то фиерический бред
Излишняя эмоциональность часто сильно влияет на правописание, даже правильное. Оно начинает хромать. фЕЕрический.
3 окт 17, 11:25    [20838396]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Sergey Sizov,

не надо усложнять. полный возраст человека в годах определяется однозначно - это количество наступивших дней рождения, за исключением самого первого. если вдруг человек родился 29 февраля, то наступлением др в невисокосных годах считать 1 марта.

declare @birth date = '19631107', @today date = GETDATE()
select age = datediff(year, @birth, @today) - iif(dateadd(year, datediff(year, @birth, @today), @birth) > @today, 1, 0)
3 окт 17, 11:27    [20838405]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov
Не доказываете. 10 дней, даже неполные, таки однозначно пересчитываются в дни. Хотя соглашусь, что уже появляется привязка к месяцу/году, что уже вносит неоднозначность в чисто вычислительные способы расчетов.
это какой-то фиерический бред

нет, большего бреда на вторник я не выдржу
3 окт 17, 11:32    [20838423]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
MaxusPerfectus
Member

Откуда: Москва
Сообщений: 11
Shakill,
Скорее так:
declare @birth date = '19891003';
declare @today date = cast(getdate() as date);
select age = datediff(year, @birth, @today) - iif(dateadd(year, datediff(year, @birth, @today), @birth) >= @today, 0, 1)
3 окт 17, 11:35    [20838435]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
Откуда они все повыползали?
3 окт 17, 11:36    [20838442]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Руслан Дамирович
Откуда они все повыползали?

это судя по всему бригадир "Козолвы и сыновья(с)"
3 окт 17, 11:37    [20838447]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
TaPaK
Sergey Sizov
Не доказываете. 10 дней, даже неполные, таки однозначно пересчитываются в дни. Хотя соглашусь, что уже появляется привязка к месяцу/году, что уже вносит неоднозначность в чисто вычислительные способы расчетов.
это какой-то фиерический бред

нет, большего бреда на вторник я не выдржу

А 365 дней однозначно пересчитываются в дни. Хотя соглашусь, что вам нужен отдых.
3 окт 17, 11:38    [20838450]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
o-o
Guest
Shakill
не надо усложнять. полный возраст человека в годах определяется однозначно

зачем же вы так,
я вот хочу еще минимум 2 страницы про декады почитать,
все равно нормальных тем давно здесь нет
3 окт 17, 11:39    [20838454]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
MaxusPerfectus
Shakill,
Скорее так:
declare @birth date = '19891003';
declare @today date = cast(getdate() as date);
select age = datediff(year, @birth, @today) - iif(dateadd(year, datediff(year, @birth, @today), @birth) >= @today, 0, 1)


поспешил, согласен.
select age = datediff(year, @birth, @today) - iif(dateadd(year, -datediff(year, @birth, @today), @today) < @birth, 1, 0)
3 окт 17, 11:40    [20838460]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
Шакил, ты конечно, молодец, но он другую ошибку исправлял. С того и ржем.
3 окт 17, 11:42    [20838466]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1527
Shakill
Sergey Sizov,

не надо усложнять. полный возраст человека в годах определяется однозначно - это количество наступивших дней рождения, за исключением самого первого. если вдруг человек родился 29 февраля, то наступлением др в невисокосных годах считать 1 марта.
Прелестно! Только вот незадача - возраст только в полных годах мало кому и мало где нужен и является всего лишь частным случаем задачи о вычислении длины отрезка на шкале времени в единицах измерения, не имеющих фиксированных коэффициентов пересчета этих единиц в более мелкие. И этот частный случай вроде ни у кого никаких проблем не вызывает и вопросы по нему обычно на форумах не задают.
3 окт 17, 11:43    [20838469]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Sergey Sizov
Shakill
Sergey Sizov,

не надо усложнять. полный возраст человека в годах определяется однозначно - это количество наступивших дней рождения, за исключением самого первого. если вдруг человек родился 29 февраля, то наступлением др в невисокосных годах считать 1 марта.
Прелестно! Только вот незадача - возраст только в полных годах мало кому и мало где нужен и является всего лишь частным случаем задачи о вычислении длины отрезка на шкале времени в единицах измерения, не имеющих фиксированных коэффициентов пересчета этих единиц в более мелкие. И этот частный случай вроде ни у кого никаких проблем не вызывает и вопросы по нему обычно на форумах не задают.

любой отрезок вашего времени переводится однозначно в любую меньшую величину
3 окт 17, 11:47    [20838482]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
o-o
Shakill
не надо усложнять. полный возраст человека в годах определяется однозначно

зачем же вы так,
я вот хочу еще минимум 2 страницы про декады почитать,
все равно нормальных тем давно здесь нет

+ off
простите, не сразу понял что здесь происходит.
3 окт 17, 11:48    [20838486]     Ответить | Цитировать Сообщить модератору
 Re: Даты в MS SQL Server  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
[quot Sergey Sizov]
Shakill
Sergey Sizov,
не надо усложнять.

На этом можно закончить.
3 окт 17, 11:48    [20838488]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить