Россия и Беларусь начали и продолжают войну против целого народа Украины!

Типы данных в SQL

  Юрий  | 

  |

  Обновл. 18 Мар 2023  | 

 243

В SQL каждый столбец (в таблице) имеет свой тип данных, который ограничивает то, что может храниться в столбце. Например, если тип данных столбца — INT, то в этом столбце могут храниться только целочисленные значения, такие как 0, 1, -1 и т.д.

Различные СУБД поддерживают различные типы данных. Рассмотрим одни из наиболее часто используемых типов данных в SQL Server, MySQL, PostgreSQL и Oracle.

Типы данных в SQL Server

Целочисленные типы данных

Тип данных Описание
BIT Может содержать один бит (0 или 1) или NULL.
TINYINT Может содержать числа в диапазоне от 0 до 255.
SMALLINT Может содержать числа в диапазоне от -32,768 до 32,767.
INT Может содержать числа в диапазоне от -2,147,483,648 до 2,147,483,647.
BIGINT Может содержать числа в диапазоне от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.

Строковые типы данных

Тип данных Описание
CHAR(n) Может содержать символы фиксированной длины (n — это фиксированная длина, максимум 8000 символов).
VARCHAR(n) Может содержать символы n длины (n — это переменная длины, максимум 8000 символов).
TEXT Может содержать символы размером до 2 ГБ.
IMAGE Может содержать двоичную строку размером до 2 ГБ.

Типы данных Даты и Времени

Тип данных Описание
DATETIME Может содержать дату и время от 1 января 1753 года до 31 декабря 9999 года.
DATETIME2 Может содержать дату и время от 1 января 0001 года до 31 декабря 9999 года.
DATE Может содержать только дату от 1 января 0001 года до 31 декабря 9999 года.
TIME Может содержать только время.

Примечание: SQL Server поддерживает множество других типов данных. Чтобы узнать больше, читайте документацию SQL Server.

Типы данных в MySQL


Целочисленные типы данных

Тип данных Описание
BIT(n) Может содержать n-битные значения (n может варьироваться от 1 до 64).
TINYINT Может содержать числа в диапазоне от -128 до 127.
SMALLINT Может содержать числа в диапазоне от -32,768 до 32,767.
MEDIUMINT Может содержать числа в диапазоне от -8,388,608 до 8,388,607.
INT Может содержать числа в диапазоне от -2,147,483,648 до 2,147,483,647.
BIGINT Может содержать числа в диапазоне от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.

Строковые типы данных

Тип данных Описание
CHAR(n) Может содержать символы фиксированной длины (n — это фиксированная длина, максимум 8000 символов).
VARCHAR(n) Может содержать символы n длины (n — это переменная длины, максимум 8000 символов).
BINARY(n) Может содержать двоичные строки фиксированной длины (n — это фиксированная длина).
VARBINARY(n) Может содержать двоичные строки заданной длины (n — это переменная длины).
TINYTEXT Может содержать до 255 символов.
TEXT(n) Может содержать символы размером до 65,535 байт.
MEDIUMTEXT Может содержать до 16,777,215 символов.
LONGTEXT Может содержать до 4,294,967,295 символов.
BLOB(n) Может содержать большие двоичные объекты размером до 65,535 байт.
MEDIUMBLOB Может содержать большие двоичные объекты размером до 16,777,215 байт.
LONGBLOB Может содержать большие двоичные объекты размером до 4,294,967,295 байт.

Типы данных Даты и Времени

Тип данных Описание
DATE Может содержать дату в формате ГГГГ-ММ-ДД и в диапазоне от 1000-01-01 до 9999-12-31.
DATETIME Может содержать дату и время в формате ГГГГ-ММ-ДД чч:мм:сс.
TIME Может содержать только время в формате чч:мм:сс и в диапазоне от -838:59:59 до 838:59:59.
YEAR Может содержать год в 4-значном формате и в диапазоне от 1901 до 2155.
TIMESTAMP Может содержать временную метку от текущего часового пояса до UTC.

Примечание: MySQL поддерживает множество других типов данных. Чтобы узнать больше, читайте документацию MySQL.

Типы данных в PostgreSQL

Целочисленные типы данных

Тип данных Описание
SMALLINT Может содержать числа в диапазоне от -32,768 до 32,767.
INTEGER Может содержать числа в диапазоне от -2,147,483,648 до 2,147,483,647.
BIGINT Может содержать числа в диапазоне от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.
DECIMAL Может содержать числа с 131072 цифр до десятичной точки и 16383 цифр после десятичной точки.
SMALLSERIAL Может содержать автоматически увеличивающиеся числа от 1 до 32767.
SERIAL Может содержать автоматически увеличивающиеся числа от 1 до 2147483647.
BIGSERIAL Может содержать автоматически увеличивающиеся числа от 1 до 9223372036854775807.

Строковые типы данных

Тип данных Описание
CHAR(n) Может содержать символы фиксированной длины (n — это фиксированная длина).
VARCHAR(n) Может содержать символы n длины (n — это переменная длины).
TEXT Может содержать символы без ограничений.

Типы данных Даты и Времени

Тип данных Описание
TIMESTAMP Может содержать дату и время.
DATE Может содержать только дату.
TIME Может содержать только время.

Примечание: PostgreSQL поддерживает множество других типов данных. Чтобы узнать больше, читайте документацию PostgreSQL.

Типы данных в Oracle


Целочисленные типы данных

Тип данных Описание
NUMBER Может содержать числа.

Строковые типы данных

Тип данных Описание
CHAR(n) Может содержать символы фиксированной длины, размером до 2000 байт (n — это фиксированная длина).
VARCHAR(n) Может содержать символы n длины, размером до 4000 байт (n — это переменная длины).
LONG Может содержать символы размером до 2 ГБ.

Типы данных Даты и Времени

Тип данных Описание
TIMESTAMP Может содержать дату и время.
DATE Может содержать только дату от 1 января 4712 до н.э. до 31 декабря 9999 н.э.
TIME Может содержать только время.

Примечание: Oracle поддерживает множество других типов данных. Чтобы узнать больше, читайте документацию Oracle.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *