SQL

PostgreSQL: использование и приведение (преобразование) типов

Lorem ipsum dolor

Сегодня в статье поговорим о том, как в PostgreSQL происходит преобразование или приведение типов. Но для начала скажем немного о самой PostgreSQL.

PostgreSQL — это система управления базами данных объектно-реляционной направленности. Обычные СУБД просто реляционной направленности. PostgreSQL из-за собственной объектной системы отлично ладит с объектно-ориентированными языками, например Java.

PostgreSQL распространяется бесплатно и с открытым исходным кодом, но это не мешает ей конкурировать по функциональности с коммерческими продуктами. Внутри нее спрятаны такие современные функции, как:

  • поддержка сложных запросов,

  • поддержка внешних ключей,

  • поддержка триггеров,

  • можно изменять представления,

  • поддерживает транзакционную целостность,

  • поддерживает многоверсионность,

  • и др.

PostgreSQL поддерживает несколько процедурных языков, например:

  • PL/pgSQL,

  • PL/Tcl,

  • PL/Perl,

  • PL/Python,

  • PL/PHP,

  • PL/V8,

  • PL/Ruby,

  • PL/Java,

  • и др.

Таким образом, зная какой-нибудь современный язык программирования, можно адаптировать эти знания для взаимодействия с PostgreSQL. Работать с этой СУБД довольно комфортно. Но самое главное, что она подойдет как для небольших проектов, так и для профессиональных и высоконагруженных. Мы не будем сегодня разбирать все возможности PostgreSQL, но на том, как происходит приведение или преобразование типов, остановимся поподробнее.

PostgreSQL: приведение или преобразование типов

Давайте отметим одно утверждение: приведение и преобразование типов в PostgreSQL — это одна и та же операция, высказанная разными словами.

Приведение типов в PostgreSQL — это осуществление преобразованияодного типа информации в другой. То есть у вас есть два типа разной информации, и, чтобы с ними было удобнее работать, нужно привести их к одному типу.

Приведение типов данных в PostgreSQL осуществляется двумя видами записи:

CAST (выражение AS тип)

или так:

выражение::тип

В обоих случаях:

  • «выражение» это данные, которые нужно преобразовать;

  • «тип» это тип данных, в который нужно преобразовать «выражение».

Нужно знать, что не каждый тип данных можно преобразовать в другой тип данных. К примеру, если взять строку типа данных «abed», тогда ее невозможно преобразовать такими способами в тип данных с двоичной последовательностью «bit». 

Если вы пытаетесь преобразовать данные, которые невозможно преобразовать, тогда у вас возникнут ошибки в PostgreSQL. Ошибки бывают разные, но ни к чему хорошему они не приводят. Наиболее часто встречаются следующие преобразования:

  • символьные строки в числа,

  • числа в символьные строки,

  • тип даты или времени в тип «text»,

  • символьные строки в «text»,

  • и др.

Преобразование типов в PostgreSQL: функции

Чуть выше мы описали способ явного преобразования типов в PostgreSQL, но в этой СУБД типы можно преобразовать при помощи специальных функций. Иногда так удобнее.

Список часто используемых функций для преобразования типов данных в PostgreSQL:

  1. «bit.fromint4(n)» преобразование числа в битовую последовательность;

  2. «bit.toint(b)» приведение битовой последовательности в десятичное представление;

  3. «to_cnar(n. g)» преобразование числа в строку формата «g»;

  4. «to_char(t.g)» преобразование типа «timestamp» в строку формата «g»;

  5. «to_date»(s.g) — преобразование строки типа даты «g» в значение типа «date»;

  6. «to_number(s.g)» преобразование строки типа даты «g» в значение типа «numeric»;

  7. «to_timestamp(s.g)» преобразование строки формата даты «g» в значение типа «timestamp»;

  8. «timestamp(d)» преобразование типа «data» в тип «timestamp».

Заключение

Приведение или преобразование типов данных в PostgreSQL нужно в разных случаях, например, при слиянии двух таблиц, когда в одних и тех же столбцах разных таблиц находятся разные типы данных. В этом случае сначала нужно осуществить преобразование типов, а только потом провести слияние таблиц.

Схожие статьи

Что такое MariaDB, где используется эта система управления
SQL

Что такое MariaDB, где используется эта система управления

SQL

Сколько записей в базе данных данной структуры. Как узнать

SQL

Опeратор Between в Oracle SQL: включает границы или нет. Примеры использования

SQL

Как правильно и легко пользоваться HeidiSQL: импорт и экспорт базы