|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Тут кто-то опять на грабли наступил, взял дату-время сохранённые как double (как это часто делают Excel, Delphi), прибавил к дате.... И получил дату гуляющую на день вперёд-назад. https://stackoverflow.com/questions/54574918/how-to-convert-double-precision-column-to-date-correctly/54588452#54588452 Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Эта грабля, она жёстко прошита в SQL-стандарте ? Или можно сделать, чтобы при добавлении float к date дробная часть не учитывалась? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 13:13 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
До кучи Код: sql 1. 2. 3. 4. 5. 6. 7.
Получается, что DATE округляем вверх, а TIMESTAMP округляем вниз. Некузяво. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 13:17 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Arioch Код: sql 1.
Тут очепятка, тут floor нету Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 13:19 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
дельфийская дата не тождественна интербейсовской дате. дальше можно не читать. зы: в доке к 3-ке, кстати, есть пассаж по поводу внутренностей. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 13:25 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Arioch, то что float можно прибавлять к дате всего лишь особенность реализации. Никаких сложений дат с числами в стандарте нет. Там для этого специальный тип предусмотрен INTERVAL ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 13:30 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Симонов ДенисНикаких сложений дат с числами в стандарте нет. это хорошо, значит можно поменят ьэту реализацию ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 15:27 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
08.02.2019 15:27, Arioch пишет: > это хорошо, значит можно поменят ьэту реализацию отойди от машины! (С) - Козлевич Адам Казимирович Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 15:31 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Arioch, это обозначает что ты своё недопонимание за баг принимаешь, только и всего ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 15:52 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
раз нет стандарта - то это не баг, это грабли и КАК это получается я понимаю и по ссылке расписал. но от этого грабли не перестают быть граблями Мимопроходящийотойди от машины! а ты в реальном коде заложился именно на такое округление float+date и при его изменении у тебя всю сломается? ...вообще при переходе от 1.5 к 2.0 куда более радикальные изменения делали ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 15:55 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
08.02.2019 15:55, Arioch пишет: > а ты в реальном коде заложился именно на такое округление float+date > и при его изменении у тебя всю сломается? я стараюсь не закладываться на любые "особенности реализации". но я категорически против чтоб менять "неонки унутри" из одного только "чувства прекрасного". к тому же, ты ожидаешь, что контрабас звучит так же как скрипка, на одних и тех же нотах партитуры. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 16:02 |
|
округление чисел при работе с данными
|
|||
---|---|---|---|
#18+
Arioch, в реальном коде уже давно пора использовать всякие там DATE_ADD, DATE_DIFF и вообще не закладываться на сложение с double. А в стандарте как то вот так Код: sql 1. 2.
кстати эти интервальные штуки были бы крайне полезны с фреймами оконных функция в 4.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2019, 16:02 |
|
|
start [/forum/topic.php?fid=40&msg=39771167&tid=1560815]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
156ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 324ms |
total: | 580ms |
0 / 0 |