Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Преобразование типов в SQL
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Светлячок Светлячок вне форума
Member
 
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.09.2006
По умолчанию 18.09.2006, 16:18

[font=Arial][size=3][i]
Помогите,пожалуйста разобраться!
как осуществить преобразование результата к целому с округлением?
что-то у меня мой запрос выдает результат не в том виде...
Задание: 9
Измените данные в таблице Classes так, чтобы калибры орудий измерялись в
сантиметрах (1 дюйм=2,5см), а водоизмещение в метрических тоннах (1
метрическая тонна = 1,1 тонны). Водоизмещение вычислить с точностью до
целых.
Код:
update Classes
set bore = bore *2.5, displacement =  (CONVERT(int, (displacement/1.1*1.0)) )
Ответить с цитированием
  (#2 (permalink)) Старый
PerfectStranger PerfectStranger вне форума
Member
 
Сообщений: 240
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 19.05.2006
По умолчанию 19.09.2006, 13:07

Для преобразования чисел с плавающей запятой к целому необязательно использовать CONVERT или CAST - преобразуются и так, но преобразуются (что не явно, что с использованием CONVERT, что с использованием CAST) обрезанием дробной части
Для округления в TSQL есть функция ROUND(nn, len, function)
nn - округляемое число, len - до скольки знаков округляем (можно отрицательное, тогда будем округлять до такого количества знаков до запятой, т.е. до десятков, сотен и т.д.), function задает способ округления: если 0 - то непосредственно округление, иначе - обрезание (как при преобразовании типов, описанном выше).
ROUND возвращает число с плавающей точкой, но так как описано выше для преобразования этих чисел к целому ничего делать не надо, то запрос будет таким:
Код:
update Classes set bore = bore * 2.5, 
  displacement = round(displacement / 1.1, 0)
Ответить с цитированием
  (#3 (permalink)) Старый
Светлячок Светлячок вне форума
Member
 
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.09.2006
По умолчанию 19.09.2006, 17:57

Цитата:
Для преобразования чисел с плавающей запятой к целому необязательно использовать CONVERT или CAST - преобразуются и так, но преобразуются (что не явно, что с использованием CONVERT, что с использованием CAST) обрезанием дробной части
Для округления в TSQL есть функция ROUND(nn, len, function)
nn - округляемое число, len - до скольки знаков округляем (можно отрицательное, тогда будем округлять до такого количества знаков до запятой, т.е. до десятков, сотен и т.д.), function задает способ округления: если 0 - то непосредственно округление, иначе - обрезание (как при преобразовании типов, описанном выше).
ROUND возвращает число с плавающей точкой, но так как описано выше для преобразования этих чисел к целому ничего делать не надо, то запрос будет таким:
Код:
update Classes set bore = bore * 2.5, 
  displacement = round(displacement / 1.1, 0)

большое спасибо за подсказку!!!! :oops:
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование типов и переменных Putnik Visual C++ 1 11.04.2009 22:59
Как сделать преобразование типов Kryuch С/С++ 4 12.02.2008 15:37
OleVariant преобразование типов chapka C++ Builder 0 28.01.2008 03:00
Преобразование типов как делать Leon .NET 1 11.12.2007 15:09
Преобразование типов в SQL Enos SQL 6 13.06.2007 22:11
Преобразование бинарных типов BabyBear Visual C++ 4 02.11.2005 20:26
Как сделать преобразование типов djonkiller С/С++ 13 26.10.2005 19:12
Преобразование типов CEdit в int johny Visual C++ 5 21.03.2005 16:41
Преобразование типов в Delphi agmcp Delphi 2 09.05.2004 12:15
Арифметические операции и преобразование типов Itni С/С++ 2 24.04.2004 18:47
Преобразование типов в C++ Anonymous С/С++ 9 05.02.2004 20:17
Преобразование типов функции Shunix С/С++ 13 14.10.2003 18:29



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов