Сначала посмотрим, с какой точностью выводятся значения этих атрибутов до изме-
нения типа данных, затем изменим тип данных для двух столбцов, опять выведем
содержимое таблицы на экран и убедимся, что значения были округлены в соответ-
ствии с правилами округления.
SELECT * FROM airports;
ALTER TABLE airports
ALTER COLUMN longitude SET DATA TYPE numeric( 5,2 ),
ALTER COLUMN latitude SET DATA TYPE numeric( 5,2 );
SELECT * FROM airports;
В том случае, когда один тип данных изменяется на другой тип данных в преде-
лах одной группы, например, оба типа — числовые, то проблем обычно не возни-
кает. В только что рассмотренном примере исходный тип данных был float (double
precision), а новый — numeric(5, 2), поэтому операция замены типа прошла автома-
тически.
Однако если исходный и целевой типы данных относятся к разным группам, тогда
потребуются некоторые дополнительные усилия с нашей стороны. В качестве при-
мера рассмотрим следующую ситуацию. Предположим, что по результатам опытной
эксплуатации базы данных «Авиаперевозки» мы пришли к выводу о том, что необхо-
димо создать таблицу, содержащую коды и наименования классов обслуживания. На-
зовем ее «Классы обслуживания» (fare_conditions). В ее состав включим два столбца:
«Код класса обслуживания» и «Наименование класса обслуживания». Имена столбцам
присвоим с учетом принципов формирования имен аналогичных столбцов в других
таблицах, например, в таблице «Аэропорты» (airports).
Достарыңызбен бөлісу: