|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
Почему два запроса показывают разные результаты ? Надо разделить 26 на 365. 1) select 26/convert(numeric(30,20),365) результат = 0.0712328767123287 2) select convert(numeric(30,20),26)/convert(numeric(30,20),365) результат = 0.07123287 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 13:01 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
Результаты разные, потому что используются разные типы данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 13:06 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
А как же преобразование типов ? Почему Numeric/Numeric дает хуже точность ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 13:09 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
AlexanP А как же преобразование типов ? Почему Numeric/Numeric дает хуже точность ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 13:19 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
З.Ы. int по умолчанию конвертится в numeric(10,0) в данной ситуации ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 14:02 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
AlexanP Почему два запроса показывают разные результаты ? Надо разделить 26 на 365. 1) select 26/convert(numeric(30,20),365) результат = 0.0712328767123287 2) select convert(numeric(30,20),26)/convert(numeric(30,20),365) результат = 0.07123287 А любимый трюк лентяев: select 26*1.0/convert(numeric(30,20),365) Дает 0.07123287671232 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 15:31 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3.
Дает numeric(38,16) numeric(38,14) numeric(38,8) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 15:41 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
Вброшу свой вариант Код: sql 1.
0.071232876712328767123288 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2020, 16:31 |
|
SQL 2016. Деление чисел. Получаются разные результаты
|
|||
---|---|---|---|
#18+
a_voronin Вброшу свой вариант Код: sql 1.
0.071232876712328767123288 Да нууууу. Слишком сложно! select 26*1.00000000000000000000/365 0.071232876712328767123287 Select * from sys.dm_exec_describe_first_result_set('select 26*1.00000000000000000000/365', NULL, 0) t numeric(28,24) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2020, 10:15 |
|
|
start [/forum/topic.php?fid=46&msg=39969728&tid=1685988]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
202ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 586ms |
0 / 0 |