![]() |
|
Модераторы: Akina |
![]()
|
|
| MakNik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 5.4.2006 Репутация: нет Всего: 0 |
Есть ли в MSSQL ф-ция отбрасывания дробной части ?
|
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
ROUND
Returns a numeric expression, rounded to the specified length or precision. Syntax ROUND ( numeric_expression , length [ , function ] ) ... numeric_expression is rounded on the left side of the decimal point, as specified by length. function Is the type of operation to perform. function must be tinyint, smallint, or int. When function is omitted or has a value of 0 (default), numeric_expression is rounded. When a value other than 0 is specified, numeric_expression is truncated. RTFM! лентяи... |
|||
|
||||
| MakNik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 5.4.2006 Репутация: нет Всего: 0 |
... будет ли корректно работать такой вариант: Convert(int, @F)?
|
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
нет. насколько я помню, все подобные преобразования как рза таки округляют, а не отбрасывают. это вам не Cи.
|
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Есть, floor.
-------------------- Никогда не говори никогда |
|||
|
||||
| MakNik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 5.4.2006 Репутация: нет Всего: 0 |
Floor не подходит при отрицательных значениях... опыты показывают, что Convert как раз делат то что нужно, только вот не знаю или это не задокументированная особенность или глюк, который в следующих версиях устранят... Declare @F Float Set @F=-13.9 /7 Select Convert(int,@F),@F, FLOOR(@F) |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 1 Всего: 11 |
MakNik, ну пойди в BOL и почитай описание к CONVERT. зачем гадать? может ты и прав.
Там собственно вот что написано: "When converting character or binary expressions (char, nchar, nvarchar, varchar, binary, or varbinary) to an expression of a different data type, data can be truncated, only partially displayed, or an error is returned because the result is too short to display." т.е. да я не прав в своем утверждении что он округляет. он именно обрезает, если может. а если не может... кстати там же сказано, что конфертация из float в int, это Implicit conversion. Т.е. тебе не нужно вообще вызывать CONVERT
Это сообщение отредактировал(а) ALKS - 15.5.2006, 15:16 |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Раз floor не подходит, то пробуй ceiling
-------------------- Никогда не говори никогда |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |