|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста, есть отличие округления до, например 3 знаков после запятой с помощью round и преобразованием типа к decimal(18, 3) ? declare @f float set @f = 1055.28885 / 7 SELECT @f --150,75555 SELECT ROUND(@f, 3); --150,756 SELECT cast(@f as decimal(18, 3)); --150,756 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 10:21 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 10:28 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
NakeshiПодскажите пожалуйста, есть отличие округления до, например 3 знаков после запятой с помощью round и преобразованием типа к decimal(18, 3) ? declare @f float set @f = 1055.28885 / 7 SELECT @f --150,75555 SELECT ROUND(@f, 3); --150,756 SELECT cast(@f as decimal(18, 3)); --150,756 Код: sql 1.
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 10:50 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
Усечение не требуется, и тип не важен. Корректно ли во всех случаях будет проходить округление, если я воспользуюсь просто преобразованием к decimal(18, 3) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 11:08 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
NakeshiУсечение не требуется, и тип не важен. Корректно ли во всех случаях будет проходить округление, если я воспользуюсь просто преобразованием к decimal(18, 3) ? вот например Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 12:41 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
да вроде ничем не отличается от SELECT round(@a, 3) AS a, round(@b, 3) AS b ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 13:23 |
|
отличие округления от преобразования
|
|||
---|---|---|---|
#18+
Nakeshi, ну если устраивает, то и хорошо вообще про действие cast написано в хелпе, когда усекается, а когда округляется. Функции CAST и CONVERTfloat -> numeric Округление Точность преобразования значений float, которые используют экспоненциальное представление, к decimal или numeric ограничена только 17 знаками. Любое значение с точностью, превышающей 17 знаков, округляется до нуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2013, 13:33 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1706463]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 238ms |
total: | 406ms |
0 / 0 |