Лекция
Привет, мой друг, тебе интересно узнать все про типы данных sql, тогда с вдохновением прочти до конца. Для того чтобы лучше понимать что такое типы данных sql , настоятельно рекомендую прочитать все из категории IBM System R — реляционная СУБД.
В этой лекции мы коротко рассмотрим основные особенности стандарта языка SQL 1989г.
В языке SQL/89 поддерживаются следующие типы данных: CHARACTER, NUMERIC, DECIMAL, INTEGER, SMALLINT, FLOAT, REAL, DOUBLE PRECISION. Эти типы данных классифицируются на типы строк символов, точных чисел и приблизительных чисел.
К первому классу относится CHARACTER. Спецификатор типа имеет вид CHARACTER (lenght), где lenght задает длину строк данного типа. Заметим, что в SQL/89 нет типа строк переменного размера, хотя во многих реализациях они допускаются. Литеральные строки символов изображаются в виде 'последовательность символов' (например, 'example').
Представителями второго класса типов являются NUMERIC, DECIMAL (или DEC), INTEGER (или INT) и SMALLINT. Спецификатор типа NUMERIC имеет вид NUMERIC [(precision [, scale]). Специфицируются точные числа, представляемые с точностью precision и масштабом scale. Здесь и далее, если опущен масштаб, то он полагается равным 0, а если опущена точность, то ее значение по умолчанию определяется в реализации.
Спецификатор типа DECIMAL (или DEC) имеет вид NUMERIC [(precision [, scale]). Специфицируются точные числа, представленные с масштабом scale и точностью, равной или большей значения precision.
INTEGER специфицирует тип данных точных чисел с масштабом 0 и определяемой в реализации точностью. SMALLINT специфицирует тип данных точных чисел с масштабом 0 и определяемой в реализации точностью, не большей, чем точность чисел типа INTEGER.
Литеральные значения точных чисел в общем случае представляются в форме
[+|-] <целое-без-знака> [.<целое-без-знака>].
Наконец, в классу типов данных приблизительных чисел относятся типы FLOAT, REAL и DOUBLE PRECISION. Спецификатор типа FLOAT имеет вид FLOAT [(precision)]. Специфицируются приблизительные числа с двоичной точностью, равной или большей значения precision.
REAL специфицирует тип данных приблизительных чисел с точностью, определенной в реализации. DOUBLE PRECISION специфицирует тип данных приблизительных чисел с точностью, определенной в реализации, большей, чем точность типа REAL.
Литеральные значения приблизительных чисел в общем случае представляются в виде <литеральное-значение-точного-числа>E<целое-со-знаком>.
Заметим, что хотя с использованием языка SQL можно определить схему БД, содержащую данные любого из перечисленных типов, возможность использования этих данных в прикладных системах зависит от применяемого языка программирования. Весь набор типов данных можно использовать, только если программировать на ПЛ/1. Поэтому в некоторых реализациях SQL типы данных с масштабом и точностью вообще не поддерживаются.
Хотя правила встраивания SQL в программы на языке Си не определены в SQL/89, в большинстве реализаций, поддерживающих такое встраивание, имеется следующее соответствие между типами данных SQL и типами данных Си: CHARACTER соответствует строкам Си; INTEGER соответствует long; SMALLINT соответствует short; REAL соответствует float; DOUBLE PRECISION соответствует double (именно такое соответствие утверждено в стандарте SQL/92).
Заметим еще, что в большинстве реализаций SQL поддерживаются некоторые дополнительные типы данных, например, DATE, TIME, INTERVAL, MONEY. Некоторые из этих типов специфицированы в стандарте SQL/92, но в текущих реализациях синтаксические и семантические свойства таких типов могут различаться.
ип данных в SQL, это атрибут, который определяет тип данных любого объекта. Каждый столбец, переменная и выражение связанных с типом данных в SQL.
Вы могли бы использовать эти типы данных при создании таблиц. Вы бы могли выбрать конкретный тип данных для столбца таблицы на основе ваших требований.
SQL Server предлагает шесть категорий типов данных для использования:
ТИП ДАННЫХ | От | До |
---|---|---|
bigint | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
int | -2,147,483,648 | 2,147,483,647 |
smallint | -32,768 | 32,767 |
tinyint | 0 | 255 |
bit | 0 | 1 |
decimal | -10^38 +1 | 10^38 -1 |
numeric | -10^38 +1 | 10^38 -1 |
money | -922,337,203,685,477.5808 | +922,337,203,685,477.5807 |
smallmoney | -214,748.3648 | +214,748.3647 |
ТИП ДАННЫХ | От | До |
---|---|---|
float | -1.79E + 308 | 1.79E + 308 |
real | -3.40E + 38 | 3.40E + 38 |
ТИП ДАННЫХ | От | До |
---|---|---|
datetime | 1 января 1753 | 31 декабря, 9999 |
smalldatetime | 1 января 1900 | 6 июня 2079 |
date | Сохраняет дату, как 30 июня 1991 года | |
time | Сохраняет время суток, как 12:30 |
Примечание – Здесь, дата и время имеет точность 3,33 миллисекунды , как и smalldatetime имеет 1 минуту точности.
ТИП ДАННЫХ | Описание |
---|---|
char | Максимальная длина 8000 символов. Об этом говорит сайт https://intellect.icu . (Фиксированная длина без Unicode символов) |
varchar | Максимум 8000 символов. (Переменная длина данных не-Unicode). |
varchar(max) | Максимальная длина 231 символов, переменная длина данных не Unicode (SQL Server 2005). |
text | Переменная длина данных, не Unicode с максимальной длиной 2147483647 символов. |
ТИП ДАННЫХ | Описание |
---|---|
nchar | Максимальная длина 4000 символов. (Фиксированная длина Unicode) |
nvarchar | Максимальная длина 4000 символов. (Переменная длина Unicode) |
nvarchar(max) | Максимальная длина 231 символов (SQL Server 2005). (Переменная длина Unicode) |
ntext | Максимальная длина 1,073,741,823 символов. (Переменная длина Unicode) |
ТИП ДАННЫХ | Описание |
---|---|
binary | Максимальная длина 8000 байт (фиксированная длина двоичных данных) |
varbinary | Максимальная длина 8000 байт. (Переменной длины двоичных данных) |
varbinary(max) | Максимальная длина 231 байт (SQL Server 2005). (Переменная длина двоичные данные) |
image | Максимальная длина 2147483647 байт. (Переменная длина двоичных данных) |
ТИП ДАННЫХ | Описание |
---|---|
sql_variant | Сохраняет значение различных типов данных SQL Server с поддержкой, за исключением текста, ntext и timestamp. |
timestamp | Хранит уникального номер базы данных, который обновляется каждый раз, когда строка получает обновление |
uniqueidentifier | Хранит уникальный глобальный идентификатор (GUID) |
xml | Хранит XML данные. Вы можете хранить экземпляры XML в столбце или переменной (SQL Server 2005). |
cursor | Ссылка на объект курсора |
table | Хранит набор результатов для последующей обработки |
Напиши свое отношение про типы данных sql. Это меня вдохновит писать для тебя всё больше и больше интересного. Спасибо Надеюсь, что теперь ты понял что такое типы данных sql и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории IBM System R — реляционная СУБД
Из статьи мы узнали кратко, но содержательно про типы данных sql
Комментарии
Оставить комментарий
Базы данных - IBM System R — реляционная СУБД
Термины: Базы данных - IBM System R — реляционная СУБД