Тип данных sql int: int, bigint, smallint и tinyint (Transact-SQL) — SQL Server
Содержание
Типы данных SQL и My SQL – что это, какие существуют типы, varchar, real, int, nvarchar, uniqueidentifier, numeric, nchar, bigint и другие
Технологии в современном мире развиваются невероятными темпами. Всё больше появляется информации, которую необходимо где-то сохранять и правильно структурировать. Наибольшие объёмы по хранению важной информации занимают разнообразные базы данных.
Что это такое?
На сегодняшний день есть несколько определений для понятия «типы данных». Между собой они все очень похожи и дают примерно одинаковый ответ. Их можно обозначить как определённую группу данных, которая характеризуется её значениями и операциями, с которыми она работает.
Описание типов данных SQL
Стандарт SQL основан на самых обширных и распространённых группах данных, но с немного расширенными спецификациями.
Точные числа
Bit – используется для хранения столбцов, 8 и менее столбцов занимают 1 байт, от 9 до 16 – 2 байта и так далее. 748,3647.
Money – 64 бита, также применяется для использования с денежными единицами, точность, как и у прошлого. Величины от -922 337 203 685 477,5808 до 922 337 203 685 477,5807.
Не стоит использовать типы приблизительных чисел в предложениях WHERE, так как в них нет точных значений. Не стоит работать с такими группами и в финансовых операциях или операциях с округлениями. Для этого есть money, smallmoney и decimal.
Приблизительные числа
Float(n) – хранилище его зависит от n и может быть 4 или 8 байт. От 1 до 24 это 4 байта, от 25 до 53 это 8 байт соответственно. Применяется в случае где необходимы числовые значения, у которых плавающая запятая. N – определяет кол-во битов, которые задействованы для хранения мантиссы числа в данном формате. Также определяет максимальное занимаемое место. Варианты от 1 до 53, стандартно 53. Значения от –1,79E +308 до 1,79E+308.
Real – 32 бита, используется также, как и прошлый. Он соответствует float(24). Изменятся он может от –3.40E+38 до 3.40E+38.
Text – представляет собой тип данных переменной длинны, максимальная длинна строки которого 2 147 483 647. Даже при использовании двухбайтовых символов, объём не превысит данной величины. Занимаемое место может быть меньше, всё зависит от строки символов.
Символьные строки
Char ( n ) – хранилище, которого определяется количеством n. Имеет фиксированную длину, также n указывает на величину строки (в байтах). Однобайтовые кодировки, величина при хранении равна величине хранимых символов. В многобайтовых кодировках, вес по-прежнему равен n, а кол-во хранимых символов уже может отличаться и быть меньше. Бывает от 1 до 8000.
Varchar ( n | max ) — это тип строковых данных с переменной длинной. N – определяет величину строки (в байтах). Можно воспользоваться и указать max, тогда длинна столбца будет максимальной. В однобайтовых кодировках, занимаемое место хранилища всегда будет n + 2 байта, а количество хранимых символов будет n. 30-1. В хранении представляет собой 2n+2.
Ntext — уже не популярный тип данных из-за своего возраста. Длинна строки переменная, используемая память равна количеству символов в строке увеличенное в два раза. Размер хранилища может достигать 230—1.
Дата и время
Date — занимает 24 бита, может быть от 01.01.0001 до 31.12.9999 с точностью в 1 день. Применяется для сохранения даты.
Datetime — занимает 64 бита, изменяется от 01.01.1753 00:00:00 до 31.12.9999 23:59:59,997, имеет точность в 0.00333 сек. Применяется для хранения даты и времени.
Datetime2 — размер его изменяется из-за его точности от 6 до 8 байт. Варианты чисел могут быть от 01.01.0001 00:00:00.0000000 до 31.12.9999 23:59:59.9999999, имеет высокую точность в 100 наносекунд. Более точный аналог предыдущего варианта.
Smaldate — 32 бита, выступает вариантами от 01.01.1900 00:00:00 до 06.06.2079 23:59:00 точность его 1 мин. Упрощённый вариант первого, с меньшим диапазоном.
Time — занимаемое место изменяется 3-5 байт. Изменяется от 00:00:00.0000000 до 23:59:59.9999999, точность 100 наносекунд. Применяется для указания времени суток.
Datetimeoffset — размер от 8 до 10 байт. Значения от 01.01.0001 00:00:00.0000000 до 9999-12-31 23:59:59.9999999. Точность составляет 100 наносекунд. Применяется при работе с временем и датой, принимая в учёт изменение часовых поясов.
Двоичные данные
Нижеприведённые группы имеют двоичную форму.
Binary (n) — занимаемое место определяется n. Имеет неизменный размер и длину. Вариация чисел от 1 до 8000. Используется при том, если заранее есть информация, которая будет находится в столбцах и есть понимание какой она будет.
varbinary ( n | max ) — в хранилище занимает места равное его величине и плюс 2 байта. При параметре max размер увеличится до 2 ГБ. Имеет изменяемую величину параметра n, который выступает от 1 до 8000.
Image — хранилище аналогично с прошлым вариантом. Не актуальный.
Прочие типы данных
Cursor — используется для определения ссылки на курсор.
Table — используется в работе с таблицами, чтобы указывать окончательные значения.
Sql_variant — может содержать в себе практически любые группы данных.
Rowversion — имеет величину в 8 байт и выполняет создание уникальных двоичных чисел.
Xml — максимальный размер до 2-х ГБ. Содержит в себе данные XML.
Uniqueidentifier — 16 байт, глобальный уникальный идентификатор.
Hierarchyid — размер до 892 байта применяется при указании места в древовидной системе.
Типы данных SQL
1. Простые типы данных
1.1. Символьные типы
1) Строки постоянной длины
CHAR[ACTER]() – строка текста в формате, определенном разработчиком. Натуральное число задает строки.
На практике максимальное число символов бывает в диапазоне от 256 в MS SQL Server до 32767 в InterBase.
CHAR трактуется как CHAR(1)
2) Строки переменной длины
VARCHAR|CHAR[ACTER] VARYING [()] – строка текста переменной длины в формате, определенном разработчиком. Натуральное число задает максимальную строки, но в таблице отводится место только под реальную длину строки.
3) Особенности символьных типов ряда СУБД
В ряде СУБД, например, MS SQL Server, если CHAR допускает значение NULL, то от трактуется как VARCHAR.
В Oracle для полей типа VARCHAR2 можно зарезервировать в каждом блоке место для будущих обновлений поля, определив опцию PCTFREE.
1.2. Числовые типы
1) Целые типы данных
INT[EGER] – число без десятичной точки. Размер зависит от конкретного варианта реализации. Часто это 4 байта.
SMALLINT – совпадает с INT, но обычно меньше по размеру. Часто 2 байта.
BIGINT – совпадает с INT, но обычно больше по размеру. Это 4 или более байта.
2) Вещественные числа с фиксированной точкой
DEC[IMAL]|[NUMERIC[([,])] – десятичное число с фиксированной точкой.
Число имеет:
— общее число значащих десятичных разрядов,
— максимальное количество разрядов справа от десятичной точки.
3) Вещественные числа с плавающей точкой
FLOAT – число с плавающей точкой, представленное в экспоненциальной форме по основанию 10. Задается максимальная точность.
REAL – совпадает с FLOAT, но точность зависит от варианта реализации.
DOUBE[PRECISION] – совпадает с REAL, но точность может быть больше в конкретной реализации.
1.3. Даты и типы времени
DATE – дата в формате yyyy-mm-dd (ISO), mm/dd/yyyy (ANSI).
TIME – время в формате hh.mm.ss (ISO), hh:mm am/pm (ANSI).
INTERVAL – дата и время в формате yyyy-mm-dd-hh. mm.ss.nnnnn (ISO). (часто TIMESTAMP).
Примечание:
Типы даты и времени могут задаваться в виде строковых литералов.
Дата: ‘yyyy-mm-dd’, время: ‘hh.mm.ss’,
Интервал: ‘yyyy-mm-dd-hh.mm.ss.n…n’.
1.4. Логический тип
BOOLEAN – логическое значение (TRUE, FALSE, UNKNOWN).
Для правильного понимания таблицы истинности в трехзначной логике (3VL) можно условно считать, что FALSE — 0, TRUE -1, а UNKNOWN – 0.5.
Тогда:
— Оператор AND возвращает наименьшее.
— Оператор OR – наибольшее из исходных значений.
— NOT UNKNOWN = UNKNOWN.
2. Коллекции
Коллекции фактически нарушают первую нормальную форму (1NF).
2.1. Массив
[()] ARRAY[] – набор однотипных значений.
Примечание:
Массивы были введены в SQL:99.
Пример:
Так, определение WeekDays Varchar(10) ARRAY[7] позволяет хранить название всех семи дней недели в одном поле.
Ряд СУБД допускают даже многомерные массивы. Так в InterBase возможно до 16 изменений, Clarion – 4.
2.2. Мультимножество
[()] MULTISET – неограниченный набор однотипных значений, допускающий дубликаты.
Значения создаются конструктором – специальными функциями.
Примечание:
Мультимножества были введены в SQL:2003.
2.3. Анонимный строковый тип
ROW ( [()] [], …) – набор разнотипных значений, включая вложенные.
Опции могут задавать порядок сортировки полей строкового типа и ряд других установок.
Пример:
Так, определив Address ROW(State Char(6), City Varchar(30), Street Varchar(50)) позволяет хранить подробный адрес в одном поле.
3. Типы LOB
CLOB (Character Large Object) – ведут себя во многом подобно символьным строкам, но их запрещено использовать:
— В ограничениях Primary Key, Unique, Foreign Key.
— В сравнениях, отличных от чистых равенств или неравенств, в разделах Order By и Group By.
BLOB (Binary Large Object) – поток байт в формате, в котором пользователь сможет их записать в колонку БД.
3.1. Проблемы использования LOB
1) Проблемы хранения
Хранение LOB прямо в таблицах вместе с другими данными нарушает работу оптимизатора, основанную на использовании страниц данных, размер которых соответствует размеру дисковых страниц.
Поэтому LOB хранятся в отдельных областях (сегментах) дисковой памяти.
2) Проблемы обновления
Поскольку размер LOB объектов может достигать десятков и сотен мегабайт, то их невозможно хранить в буферах целиком. Поэтому данные типа LOB обрабатываются по частям, например, группами страниц. В операторах INSERT и UPDATE для обработки по частям используются специальные технологии, позволяющие многократно вызывать одну и ту же API-функцию для одного поля. Аналогично и при считывании данных операторами SELECT и FETCH.
3) Проблемы выполнения транзакций
Для поддержки транзакций большинство СУБД ведет журнал транзакций, в котором записываются копии данных до и после модификаций.
Однако из-за больших размеров LOB не записываются в журнал.
4) Проблемы пересылки по сети
Часто клиент и сервер работают на разных компьютерах, и пересылка LOB по сети может прервать работу всех, кто пользуется сетью в данных момент.
4. Разные типы
4.1. Locator
Уникальное двоичное (четырехбитное) значение (в ООП – дескриптор), сохраняемое в БД.
Описывается в главной программе и действует до конца транзакции.
Предназначен для манипуляции LOB-значениями (или массивами) на стороне клиента. Вместо LOB клиенту посылается ссылка на него.
Можно объявить: LOC: Integer AS LOCATOR.
4.2. XML
Значениями, по существу, являются XML-документы.
Для этого типа определяется ряд операций, обеспечивающих доступ к элементам значения типа XML, преобразования подобных данных и т.п.
4.3. Datalink
Datalinks являются частью SQL/MED 9075-9:2003.
Datalink представляет собой особый тип SQL предназначен для хранения URL-адресов в БД, а также ряд функций, которые могут быть использованы в SQL запросах.
С особенностями и поддерживаемыми функциями можно ознакомится на сайте:
Wiki.postgresql.org/wiki/DATALINK
Используются в DB2, Oracle – для хранения данных во внешнем файле BFile.
Типы данных SQL — Essential SQL
В SQL столбцы таблицы предназначены для хранения значений определенного типа, таких как числа, даты или текст; они называются типами данных. Имея на выбор более тридцати типов типов данных SQL Server , типы данных могут показаться пугающими, но на самом деле в базах данных широко используются лишь некоторые из них.
Как только вы поймете типы данных в целом, это не будет сложной темой. Вы также поймете, зачем нужны типы данных и почему существует так много их разновидностей.
В этой статье мы рассмотрим наиболее распространенные типы данных и лучшие практики их использования.
Все примеры для этого урока основаны на Microsoft SQL Server Management Studio и базе данных AdventureWorks2012. Начните использовать эти бесплатные инструменты с помощью моего руководства Начало работы с SQL Server .
Содержание
- Что такое типы данных SQL Server?
- Как помогают типы SQL
- Причины использования типов данных SQL Server
- Обычно используемые типы данных SQL Server
- INT — целочисленный тип данных
- VARCHAR и NVARCHAR — текстовые значения
- DATETIME — дата и время
- DECIMAL и FLOAT — десятичные точки
- 9001 7 ДЕСЯТИЧНОЕ
- ПЛАВАЮЩЕЕ
Что такое типы данных SQL Server?
Прежде чем мы перейдем к типам данных, используемым в SQL-сервере, я думаю, всем важно понять, что такое тип данных и зачем они нужны для использования в компьютерах.
В нашем примере речь пойдет о человеке. Если бы вы думали об информации, которую могли бы использовать для описания человека, вы могли бы подумать о том, чтобы собрать его имя, дату рождения, вес и количество детей. Для каждого из этих атрибутов данные обычно делятся на несколько категорий.
Имена хранятся в виде текста, даты рождения — в виде календарных дат, вес — в виде десятичных значений, а количество детей — в виде целых чисел. Каждая из этих категорий значений является типом данных.
Как помогают типы SQL
Типы данных определяют характеристики данных, которые могут храниться в таком месте, как столбец базы данных. Тип данных определяет возможный набор допустимых значений. Например, тип INT, который обозначает целое число на сервере SQL, может принимать только целые числа, десятичные значения не допускаются.
Вот список некоторых людей и их возраст
Возраст — просто текстовые значения
Вы видите проблему с этими возрастами? Все они в несовместимом формате. Их не только трудно читать, но и сортировать и вычислять данные сложно. Используя типы данных SQL Server, которые обеспечивают сохранение ожидаемого типа данных, мы можем добиться гораздо лучшего результата. Вот та же таблица, где возраст указан целым числом 9.0005
Возрасты, соответствующие типу данных INT
Когда возраст определяется как целое число, предполагается, что данные вводятся как целые числа.
Также, не вдаваясь в технические подробности, можно заметить, что хранение возраста в виде целого числа занимает гораздо меньше места, чем возраст в первой таблице. Это может показаться не слишком важным для небольших баз данных, но при работе с данными на смартфонах или в сценариях «больших данных» эти соображения складываются.
Когда система понимает тип данных, она может сортировать данные в порядке, который имеет смысл, а также выполнять вычисления.
Причины использования типов данных SQL Server
Вот несколько причин, по которым важны типы данных:
- Данные хранятся в согласованном и известном формате.
- Знание типа данных позволяет узнать, какие расчеты и формулировки можно использовать в столбце.
- Типы данных влияют на хранилище. Некоторые значения занимают больше места при хранении в одном типе данных, чем в другом. Возьмем, к примеру, наши возрастные таблицы выше.
- Типы данных влияют на производительность. Чем меньше времени у базы данных для вывода значений или их преобразования, тем лучше. «32 декабря 2015 года — это дата?»
Часто используемые типы данных SQL Server
В SQL вы определяете, какие данные хранить в столбцах. Некоторые примеры включают текстовые или числовые данные.
Это тип данных столбца и одно из его наиболее важных свойств, поскольку только оно определяет, допустимо ли значение для хранения в столбце.
Существует более тридцати различных типов данных, которые вы можете выбрать при определении столбцов, некоторые из них имеют особое назначение, например, для хранения изображений.
В этой статье мы рассмотрим семь типов данных, с которыми вы чаще всего сталкиваетесь при повседневном использовании SQL. Это:
- INT
- VARCHAR, NVARCHAR
- DATETIME
- Десятиц, Float
- BIT
Вы также можете перейти, чтобы посмотреть видео, объясняющее общие данные, используемые в SQL Server.
INT — целочисленный тип данных
Целочисленный тип данных хранит целые числа. Примеры: -23, 0, 5 и 10 045. Целые числа не включают десятичные разряды. Поскольку сервер SQL использует ряд компьютерных слов для представления целого числа, существуют максимальное и минимальное значения, которые он может представить. Тип данных INT может хранить значение от -2 147 483 648 до 2 147 483 647.
Практическое использование типа данных INT включает использование его для подсчета значений, хранения возраста человека или использования в качестве ключа идентификатора для таблицы.
Но INT не был бы так хорош для отслеживания терабайтного адресного пространства жесткого диска, поскольку тип данных INT достигает только 2 миллиардов, а нам нужно отслеживать триллионы. Для этого вы можете использовать BIGINT.
В вычислениях используется тип данных INT. Поскольку DaysToManufacture определяется как INT, мы можем легко рассчитать количество часов, умножив его на 24:9. 0005
Здесь вы можете увидеть результаты
Результаты вычислений INT
Существует множество операций и функций, которые можно использовать с целыми числами, и мы рассмотрим их, когда будем углубляться в функции.
VARCHAR и NVARCHAR — текстовые значения
Используйте VARCHAR и NVARCHAR для хранения текстовых значений переменной длины. «VARCHAR» означает символ переменной длины.
Укажите количество символов для хранения в VARCHAR или NVARCHAR при определении столбца. Обратите внимание, как указано, что Name содержит пятьдесят символов:
Определение VARCHAR показано в обозревателе объектов SSMS
Что делает VARCHAR популярным, так это то, что значения менее пятидесяти символов занимают меньше места. Пространство распределяется по мере необходимости. Это отличается от типа данных CHAR , который всегда выделяет указанную длину , независимо от длины фактически хранимых данных.
Тип данных VARCHAR обычно может хранить не более 8000 символов. Используйте тип данных NVARCHAR для хранения текста Unicode. Поскольку символы UNICODE занимают вдвое больше места, в столбцах NVARCHAR может храниться до 4000 символов.
Преимущество NVARCHAR перед VARCHAR заключается в том, что он может хранить символы Unicode. Это делает удобным хранение расширенных наборов символов, подобных тем, которые используются в таких языках, как кандзи.
Базы данных, разработанные до SQL 2008, обычно используют VARCHAR; однако более современные базы данных или базы данных глобального характера, как правило, используют NVARCHAR.
DATETIME – Дата и время
Используйте тип данных DATETIME для хранения даты и времени. Пример значения DATATIME:
.
1968-10-23 1:45:37.123
Это значение на 23 октября rd , 1968 в 1:45. На самом деле время точнее. Время действительно 45 минут 37,123 секунды.
Во многих случаях достаточно просто сохранить дату. В этих случаях временная составляющая обнуляется. Таким образом, 5 ноября -го -го года 1972 года это
.
1972-11-05 00:00:00.000
A DATETIME может хранить даты с 1 января 1753 года по 31 декабря 9999 года. Это делает DATETIME удобным для записи дат в современном мире, но не так хорошо в мире Уильяма Шекспира.
По мере знакомства с различными встроенными функциями SQL вы сможете манипулировать данными. Чтобы дать вам представление, мы будем использовать функцию ГОД для подсчета сотрудников, нанимаемых каждый год. Когда задано значение DATETIME, функция YEAR возвращает год.
Мы будем использовать запрос
.
Преимущество заключается в том, что тип DATETIME гарантирует, что значения являются допустимыми датами. Как только это будет обеспечено, мы сможем использовать множество функций для вычисления количества дней между датами, месяца даты и так далее.
Мы подробно рассмотрим эти различные функции в другой статье блога.
DECIMAL и FLOAT – Десятичные точки
Используйте типы данных DECIMAL и FLOAT для работы с десятичными значениями, такими как 10. 3.
Я объединил DECIMAL и FLOAT в одну категорию, так как они оба могут обрабатывать значения с десятичными точками; однако они оба делают это по-разному:
Если вам нужны точные значения, например, при работе с финансовыми или бухгалтерскими данными, используйте DECIMAL. Причина в том, что тип данных DECIMAL позволяет вам определить количество поддерживаемых десятичных знаков.
ДЕСЯТИЧНОЕ
DECIMAL Типы данных определяются точностью и масштабом. Точность определяет общее количество сохраняемых цифр; тогда как шкала определяет количество цифр справа от десятичной точки.
Тип данных DECIMAL указан как DECIMAL(точность,масштаб).
Тип данных DECIMAL может содержать не более 38 цифр. Точность и масштаб должны соответствовать следующему соотношению
.
0 <= масштаб <= точность <= 38 цифр
В таблице Production.Product тип данных столбца веса определен как DECIMAL(8,2). Первая цифра - точность, вторая - масштаб.
Масса определяется как состоящая из восьми цифр, две из которых справа от десятичного знака. Мы создадим следующий пример запроса, чтобы проиллюстрировать, как работает этот тип данных.
ПОПЛАВОК
В то время как типы данных DECIMAL отлично подходят для точных чисел, FLOAT действительно хороши для длинных числовых значений. Хотя значение DECIMAL может содержать всего 38 цифр, во многих инженерных и научных приложениях этого недостаточно. FLOAT поднимается на вершину в научных приложениях, где встречаются экстремальные числовые значения!
FLOATS имеют диапазон от – 1,79E+308 до 1,79E+308. Это означает, что наибольшее значение может быть 179, за которым следуют 306 нулей (действительно большое!).
Из-за способа хранения данных с плавающей запятой в компьютере (см. спецификацию IEEE 754 с плавающей запятой) сохраняемое число является очень близким приближением. Для многих приложений этого достаточно.
Из-за приблизительного поведения избегайте использования операторов <> и = в предложении WHERE. Это заявление сожгло многих администраторов баз данных!
ГДЕ масса = 2,5
Их ожидания не оправдываются, когда предполагается, что масса равна 2,5, но на самом деле в компьютере она хранится как 2,499999999999999; следовательно, не равно 2,500000000000000!
Такова природа вычислений с плавающей запятой и компьютеров. Вы и я видим 2,499999999999999 и думаем, что для практических целей это 2,5, но для компьютера это немного не так. Дж
BIT — логические значения или значения Да/Нет
Бывают случаи, когда вам просто нужно запомнить, является ли что-то «есть» или «нет». Например, активен ли сотрудник. Именно в этих случаях тип данных BIT приходит на помощь. Этот тип данных находится в одном из трех состояний: 1, 0 или NULL.
Значение 1 означает ИСТИНА, а 0 – ЛОЖЬ.
В этом запросе мы перечисляем все должности с окладом
Вместо 1 можно было бы использовать «Истина». В этом же примере используется значение «Истина»
.
ВЫБЕРИТЕ ОТЛИЧНОЕ Заголовок Работы ОТ HumanResources.Employee ГДЕ SalariedFlag = "Истина"
И наоборот, используя «False»
ВЫБЕРИТЕ ОТЛИЧНОЕ Заголовок Работы ОТ HumanResources.Employee ГДЕ SalariedFlag = "False"
Я склоняюсь к 1 и 0, так как их легче печатать, но если вы хотите добиться удобочитаемости, то «Истина» и «Ложь» — хорошие варианты.
Типы данных SQL | База данныхJounral.com
Поиск
В SQL типы данных помогают определить тип значения, которое может храниться в ячейке базы данных или, точнее, в столбце. В SQL существует множество типов данных, и в этом руководстве по программированию и администрированию баз данных мы рассмотрим каждый из них и изучим их синтаксис, как их использовать, когда их использовать, их вариант использования и чем они отличаются в конкретном отношении. поставщиков баз данных, таких как MySQL, Oracle, PostgreSQL и MS SQL Server.
Прежде чем мы начнем, если вы предпочитаете учиться в классе или в онлайн-среде, у нас есть список лучших онлайн-курсов по изучению SQL, которые помогут вам начать работу.
Какие типы данных есть в SQL?
Типы данных в SQL и его ответвлениях определяют тип, размер и диапазон информации, которая может храниться в базе данных объект . В SQL объекты, которые могут иметь тип данных, включают столбцов , выражений , параметров и переменные .
Столбец в таблице проходит вверх и вниз или по вертикали и состоит из ячеек, содержащих данные, связанные друг с другом (следовательно, SQL является языком реляционной базы данных). Переменную можно рассматривать как коробку, в которой хранятся данные; программист базы данных может заглянуть внутрь коробки, чтобы увидеть эти данные, заменить их другим фрагментом данных или изменить данные, если они имеют тот же тип. Подробнее об этом чуть позже.
Выражение может состоять из одного или нескольких значений, операторов и функций, которые программист может использовать для оценки для получения фрагмента данных. Думайте об этом как о математической формуле, хотя выражения не только выполняют математические операции или работают с числовыми значениями.
Параметры используются для облегчения обмена данными в так называемых функциях SQL и хранимых процедурах .
SQL имеет три основных типа типов данных, в том числе встроенный , определяемый пользователем псевдоним и определяемый пользователем CLR . Их можно далее разбить на такие категории, как числовые , строковые , даты и времени , пространственные и разные . В каждой из этих категорий также есть подкатегории, которые мы подробно обсудим в следующем разделе.
Чтение: Рекомендации по SQL
Числовые типы данных SQL
Типы числовых данных в SQL представляют числовые значения как INT (целые или целые числа) или FLOATS (десятичные или числа с плавающей запятой). 38 -1 938 -1
Не слишком углубляясь в тему (это выходит за рамки этого руководства), Unicode — это стандарт кодирования, используемый для присвоения уникального числового значения букве, цифре или символу, чтобы обеспечить его работу независимо от языка или алфавита. быть использованным. Например, Unicode для заглавной буквы A равен U+0041 9. 0301 , а Unicode для строчной буквы a — U+0061 .
Ниже приведен список типов данных Character и String в SQL:
- CHAR: Используется для текста фиксированной длины с максимальной длиной 8000 символов
- VARCHAR: Используется для текста переменной длины с максимальной длиной 8000 символов
- VARCHAR(max): Используется для текста переменной длины с заданным максимальным количеством символов. Обратите внимание, что это не поддерживается в MySQL версии SQL 9.0018
- ТЕКСТ: Текстовые значения переменной длины с максимальным объемом данных 2 ГБ
Вот список различных типов данных Unicode Character и String, разрешенных в SQL. Следует отметить, что эти типы данных не поддерживаются в MySQL:
- NCHAR: Используется для текста фиксированной длины с максимальной длиной 4000 символов
- NVARCHAR: Используется для текста переменной длины с максимальной длиной 4000 символов
- NVARCHAR(max): Используется для хранения переменной длины с максимальным количеством символов
- NTEXT: Используется для текста переменной длины с максимальным объемом памяти 1 ГБ
Узнайте больше о различных вариантах SQL в наших руководствах: Что такое MySQL и Что такое PostgreSQL.
Типы данных даты и времени в SQL
Как вы могли догадаться, типы данных даты и времени используются для значений даты и времени. Вот список поддерживаемых типов данных даты и времени, поддерживаемых в SQL:
- ДАТА: Сохраняет значения даты в формате ГГГГ-ММ-ДД
- ВРЕМЯ Сохраняет значения времени в формате ЧЧ:МИ:СС
- DATETIME: Сохраняет значения даты и времени в формате ГГГГ-ММ-ДД ЧЧ:МИ:СС
- TIMESTAMP: Используется для хранения количества секунд, прошедших с эпохи Unix, или 1970-01-01 00:00:00 UTC
- ГОД: Используется для хранения значения года в 2-значном или 4-значном формате в диапазоне от 1901 до 2155 в 4-значном формате или 70-69 в 2-значном формате, который представляет период времени 1970 – 2069
Двоичные типы данных в SQL
Двоичные данные — это данные, представленные 1s и 0s ; в SQL двоичные типы данных обычно используются для двоичных данных, таких как изображения или текстовые файлы. SQL поддерживает следующие типы двоичных типов данных:
- ДВОИЧНЫЙ: Используется, когда размер данных непротиворечив; используется для двоичных данных фиксированной длины с максимальной длиной 8000 байт
- VARBINARY: Используется для двоичных данных переменной длины до 8000 байт
- VARBINARY(max): Используется для двоичных данных переменной длины с заданным максимальным размером байта
- ИЗОБРАЖЕНИЕ: Используется для двоичных данных переменной длины с максимальным размером 2 ГБ
Другие типы данных в SQL
SQL поддерживает другие типы данных, не перечисленные в этом руководстве (на момент написания этой статьи) — типы данных, содержащиеся здесь, используются чаще всего. Кроме того, следует отметить, что реляционные базы данных конкретного поставщика — или другой вариант SQL — такие как MySQL, T-SQL, Oracle и MS SQL Server, имеют свои собственные варианты и синтаксис для типов данных в этом руководстве по программированию баз данных.