|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
Есть простая функция: Код: sql 1. 2. 3. 4. 5. 6.
При выполнении Код: sql 1.
возвращается 18837,4, в то время как в реальности payments.heating_sum = 18837,38 Собственно, сабж. Замена на Код: sql 1.
ничего не меняет. PS MySQL 8.0.27 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 11:48 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
LiYing Есть простая функция: Код: sql 1. 2. 3. 4. 5. 6.
При выполнении Код: sql 1.
возвращается 18837,4, в то время как в реальности payments.heating_sum = 18837,38 Собственно, сабж. Замена на Код: sql 1.
ничего не меняет. PS MySQL 8.0.27 а если заменить FLOAT? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 11:58 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
Замена FLOAT на DOUBLE помогла. Но ответ на вопрос все равно интересен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 12:00 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
LiYing Замена FLOAT на DOUBLE помогла. Но ответ на вопрос все равно интересен :) Это и есть ответ. Почитайте, что такое float ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 12:27 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
LiYing возвращается 18837,4, в то время как в реальности payments.heating_sum = 18837,38 Не смог найти корректное упоминание этого поведения (кроме коммента под ответом здесь ), но в общем mysql округляет float до 6 знаков при выводе данных, если не попросить специально. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 12:52 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
Ролг Хупин Почитайте, что такое float Вот честно, несколько раз прочитал https://dev.mysql.com/doc/refman/8.0/en/floating-point-types.html , но так и не понял почему 2 десятичных знака округлились до 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 12:56 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
LiYing так и не понял почему 2 десятичных знака округлились до 1. https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=7547927b93bd60537776dbabefe6fca2 LiYing Есть простая функция Вот интересно, чем ты думал, делая тип выходного параметра FLOAT? у тебя небось payments.heating_sum - тоже FLOAT? Для таких вещей есть тип данных DECIMAL. Причём обязательно с явным указанием количества десятичных знаков. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 14:25 |
|
Почему получается округленный результат?
|
|||
---|---|---|---|
#18+
Akina, Ой-ой, дядька, не ругайся :) Мой косяк был с FLOAT - когда создавал функцию в дизайнере БД машинально выбрал этот тип вместо DOUBLE. My bad... Akina у тебя небось payments.heating_sum - тоже FLOAT? Не все так плохо - DOUBLE там :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 15:00 |
|
|
start [/forum/topic.php?fid=47&msg=40130971&tid=1827797]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 257ms |
total: | 379ms |
0 / 0 |