Из прошлого примера мы видим, что тип данных колонки age задан как BIGINT
, что не совсем рационально, так как, исходя из документации типов данных, BIGINT
- целое в большом диапазоне от -9223372036854775808 до 9223372036854775807
. Логично, что для возраста такой диапазон является сильно преувеличенным. То есть, мы выделяем большее количество памяти на хранение данных, которым столько не требуется.
Давайте поменяем тип данных при выводе:
select
age:: smallint
from
fifa_players_2018
limit 1
Как видно, для изменения типа данных необходимо подставить к столбцу ::
и прописать нужный тип. В данном примере мы поменяли тип на SMALLINT
- целое в небольшом диапазоне от -32768 до +32767
.
Мы не поменяли тип данных в исходной таблице, но научились преобразовывать данные в рамках наших запросов.