|
date + 0.99999
|
|||
---|---|---|---|
#18+
Добрый день, возник небольшой спор Какие железобетонные аргументы можно привести, что бы перестали писать выражения вида Код: plsql 1.
Мои аргументы - это уродливо, и что будем делать если это будет timestamp? девяток то уже не хватит Раньше лепили 0.999 - это 23:58:34, ошибку исправили на 0.99999 - 23:59:59 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:28 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
а если в переменной дата со временем, что получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:41 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
mrwert, Если нет регламента написания кода, то никак, если есть - внести в недопустимые решения. Но каких-либо внятных аргументов против вы не привели "уродливо"-это вкусовщина, timestamp - это другой тип данных, очевидно что данный финт расчитан именно на использование в типе date Я бы вместо "уродливо" использовал формулировку - "не очевидно и усложняет понимание кода", так же много у кого в регламентах по коду есть запрет на использование "магических чисел" в коде, можно использовать и его. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:43 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
mrwertчто бы перестали писать выражения вида Правильно будет писать Код: sql 1.
Но этому ты никого не обучишь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:47 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
mrwertчто будем делать если это будет timestamp? девяток то уже не хватит Как только ты прибавишь/вычтешь из timestamp так сразу timestamp неявно преобразуется в date и дробная часть секунд потеряется. Date arithmetic подразумевает date. С timestamp, в общем случае, прибавляем/вычитаем interval. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:49 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
mrwert, https://oracleplsql.ru/to_dsinterval-function.html - и не компилить кода на уровне системного тригера где содержится like (%0.999%) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:49 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПравильно будет писать Для timestamp - да. А для date правильно будет писать Код: plsql 1.
Зачем неявные (хоть и дешевые) преобразования. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 13:53 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
feagor, feagor "уродливо"-это вкусовщина - полностью согласен, "не очевидно и усложняет понимание кода" - звучит намного лучше ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 14:01 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
Спасибо всем, В общем как говорил один персонаж - "Нужна политическая воля" )) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 14:18 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
SYС timestamp, в общем случае, прибавляем/вычитаем interval.Вопрос о нестрогом сравнении верхней границы. С таймстампом проблема усугубляется неявностью неявной точности таймстамп-выражений и интервал-литералов Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Vintи не компилить кода на уровне системного тригера где содержится like (%0.999%)86399/86400 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 14:19 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
-2-Вопрос о нестрогом сравнении верхней границы. С таймстампом проблема усугубляется неявностью неявной точности таймстамп-выражений и интервал-литералов Первая цифра в SECOND это leading_precision: INTERVAL DAY TO SECOND Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 14:41 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
-2-, ну можно написать и -1-interval '1' second и еще десятки способов. от криворукости нет спасения. только code review нормальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 15:24 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
не, это круче Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 15:59 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
SYDimitry SibiryakovПравильно будет писать Код: plsql 1.
Для timestamp - да.Это универсально для любого datetime. Это самодокументировано. SYА для date правильно будет писать Код: plsql 1.
Зачем неявные (хоть и дешевые) преобразования.Какие преобразования? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2019, 22:10 |
|
date + 0.99999
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПравильно будет писать Код: sql 1.
Но этому ты никого не обучишь. Главное, чтобы привыкнув к такому, не написали бы потом Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2019, 08:54 |
|
|
start [/forum/topic.php?fid=52&msg=39845858&tid=1882217]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 401ms |
0 / 0 |