Sql type data: SQL Data Types for MySQL, SQL Server, and MS Access
Содержание
Типы данных | Databricks на AWS
Применяется к: Databricks SQL Databricks Runtime
Правила, регулирующие разрешение конфликтов между типами данных, см. в разделе Правила для типов данных SQL.
Поддерживаемые типы данных
Databricks поддерживает следующие типы данных:
Тип данных | Описание |
---|---|
БОЛЬШОЙ | Представляет 8-байтовые целые числа со знаком. |
ДВОИЧНЫЙ | Представляет значения последовательности байтов. |
Логический | Представляет логические значения. |
ДАТА | Представляет значения, содержащие значения полей год, месяц и день, без часового пояса. |
ДЕСЯТИЧНЫЙ (p,s) | Представляет числа с максимальной точностью |
ДВОЙНОЙ | Представляет 8-байтовые числа с плавающей запятой двойной точности. |
ПЛАВАЮЩИЙ | Представляет 4-байтовые числа одинарной точности с плавающей запятой. |
ИНТ | Представляет 4-байтовые целые числа со знаком. |
ИНТЕРВАЛ intervalQualifier | Представляет интервалы времени в секундах или месяцах. |
ПУСТОЙ | Представляет нетипизированный NULL. |
МАЛЕНЬКИЙ | Представляет 2-байтовые целые числа со знаком. |
СТРОКА | Представляет значения строки символов. |
TIMESTAMP | Представляет значения, содержащие значения полей года, месяца, дня, часа, минуты и секунды, с часовым поясом местного сеанса. |
TIMESTAMP_NTZ | Представляет значения, содержащие значения полей года, месяца, дня, часа, минуты и секунды. Все операции выполняются без учета часового пояса. |
TINYINT | Представляет 1-байтовые целые числа со знаком. |
МАССИВ | Представляет значения, содержащие последовательность элементов с типом |
КАРТА < keyType, valueType > | Представляет значения, содержащие набор пар ключ-значение. |
СТРУКТУРА < [fieldName : fieldType [NOT NULL][COMMENT str][ …]] > | Представляет значения со структурой, описываемой последовательностью полей. |
Классификация типов данных
Типы данных сгруппированы в следующие классы:
Целочисленные типы представляют целые числа:
ТИНЬИНТ
МАЛЕНЬКИЙ
ИНТ
БОЛЬШОЙ
Точные числовые типы представляют числа с основанием 10:
Целочисленный
ДЕСЯТИЧНЫЙ
Двоичные числа с плавающей запятой Типы используют экспоненты и двоичное представление для охвата большого диапазона чисел:
ПЛАВАЮЩИЙ
ДВОЙНОЙ
Числовые типы представляет все числовые типы данных:
Точная цифра
Двоичный код с плавающей запятой
Типы Date-time представляют компоненты даты и времени:
ДАТА
ВРЕМЕННАЯ МЕТКА
TIMESTAMP_NTZ
Простые типы — это типы, определяемые хранением одноэлементных значений:
Цифровой
Дата-время
ДВОИЧНЫЙ
Логический
ИНТЕРВАЛ
СТРОКА
Сложные типы состоят из нескольких компонентов сложных или простых типов:
МАССИВ
КАРТА
СТРУКТУРА
Сопоставления языков
Применяется к: Databricks Runtime
Типы данных Spark SQL определены в пакете org. apache.spark.sql.types
. Вы получаете к ним доступ, импортируя пакет:
import org.apache.spark.sql.types._
Тип SQL | Тип данных | Тип значения | API для доступа или создания типа данных |
---|---|---|---|
TINYINT | Тип байта | Байт | Тип байта |
МАЛЕНЬКИЙ | Короткий | Короткий | Короткий |
ИНТ | Целочисленный тип | Внутренний | Целочисленный тип |
БОЛЬШОЙ | Длинный | Длинный | Длинный тип |
ПЛАВАЮЩИЙ | Плавающий Тип | Поплавок | Плавающий Тип |
ДВОЙНОЙ | Двойной тип | Двойной | Двойной тип |
ДЕСЯТИЧНЫЙ (p,s) | Десятичный тип | java. math.BigDecimal | Десятичный тип |
СТРОКА | Тип строки | Строка | Тип строки |
ДВОИЧНЫЙ | Двоичный тип | Массив [байт] | Двоичный тип |
Логический | Логический тип | Логический | Логический тип |
TIMESTAMP | Тип метки времени | java.sql.Timestamp | Тип метки времени |
TIMESTAMP_NTZ | Метка времениNTZType | java.time.LocalDateTime | Метка времениNTZType |
ДАТА | Тип даты | java.sql. Дата | Тип даты |
интервал год-месяц | ГодМесяцИнтервалТип | java. время.Период | ГодМесяцИнтервалТип (3) |
дневной интервал | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
МАССИВ | Тип массива | scala.collection.Seq | ArrayType(elementType [ содержитNull]). (2) |
КАРТА | Тип карты | scala.collection.Map | MapType(keyType, valueType [ valueContainsNull]). (2) |
СТРУКТУРА | Тип структуры | org.apache.spark.sql.Строка | StructType(поля). fields является последовательностью StructField. [4](#4). |
Структурное поле | Тип значения типа данных этого поля (например, Int для StructField с типом данных IntegerType) | StructField(имя, тип данных [ допускает значение NULL]). [4](#4) |
Типы данных Spark SQL определены в пакете org.apache.spark.sql.types
. Чтобы получить доступ к типу данных или создать его, используйте фабричные методы, представленные в разделе 9.0077 org.apache.spark.sql.types.DataTypes .
Тип SQL | Тип данных | Тип значения | API для доступа или создания типа данных |
---|---|---|---|
TINYINT | Тип байта | байт или байт | Типы данных.ByteType |
МАЛЕНЬКИЙ | Короткий | короткий или короткий | Типы данных.ShortType |
ИНТ | Целочисленный тип | целое или целое число | Типы данных.IntegerType |
БОЛЬШОЙ | Длинный | длинный или длинный | Типы данных. LongType |
ПЛАВАЮЩИЙ | Плавающий Тип | с плавающей запятой или с плавающей запятой | Типы данных.FloatType |
ДВОЙНОЙ | Двойной тип | двойной или двойной | Типы данных.DoubleType |
ДЕСЯТИЧНЫЙ (p,s) | Десятичный тип | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(точность, масштаб). |
СТРОКА | Тип строки | Строка | Типы данных.StringType |
ДВОИЧНЫЙ | Двоичный тип | байт[] | DataTypes.BinaryType |
Логический | Логический тип | логический или логический | Типы данных. BooleanType |
TIMESTAMP | Тип метки времени | java.sql.Timestamp | Типы данных.TimestampType |
TIMESTAMP_NTZ | Метка времениNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
ДАТА | Тип даты | java.sql.Дата | DataTypes.DateType |
интервал год-месяц | ГодМесяцИнтервалТип | java.время.Период | ГодМесяцИнтервалТип (3) |
дневной интервал | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
МАССИВ | Тип массива | ava.util.List | DataTypes.createArrayType(elementType [ содержитNull]). (2) |
КАРТА | Тип карты | java.util.Map | DataTypes.createMapType(keyType, valueType [ valueContainsNull]).(2) |
СТРУКТУРА | Тип структуры | org.apache.spark.sql.Row | DataTypes.createStructType(поля). fields — это список или массив StructField. [4](#4) |
Структурное поле | Тип значения типа данных этого поля (например, int для StructField с типом данных IntegerType) | DataTypes.createStructField(name, dataType, nullable) [4](#4) |
Типы данных Spark SQL определены в пакете pyspark.sql.types
. Вы получаете к ним доступ, импортируя пакет:
из pyspark.sql.types import *
Тип SQL | Тип данных | Тип значения | API для доступа или создания типа данных |
---|---|---|---|
TINYINT | Тип байта | целые или длинные. (1) | БайтТип() |
МАЛЕНЬКИЙ | Короткий | целые или длинные. (1) | Короткий тип() |
ИНТ | Целочисленный тип | целые или длинные | IntegerType() |
БОЛЬШОЙ | Длинный | длинный (1) | Длинный тип() |
ПЛАВАЮЩИЙ | Плавающий Тип | поплавок (1) | FloatType() |
ДВОЙНОЙ | Двойной тип | поплавок | Двойной тип() |
ДЕСЯТИЧНЫЙ (p,s) | Десятичный тип | десятичный. Десятичный | Десятичный тип() |
СТРОКА | Тип строки | строка | Тип строки() |
ДВОИЧНЫЙ | Двоичный тип | массив байтов | Двоичный тип() |
логическое значение | Логический тип | логический | Булев тип() |
TIMESTAMP | Тип метки времени | дата-время. дата-время | TimestampType() |
TIMESTAMP_NTZ | Метка времениNTZType | дата-время.дата-время | Временная меткаNTZType() |
ДАТА | Тип даты | дата-время.дата | ДатаТип() |
интервал год-месяц | ГодМесяцИнтервалТип | Не поддерживается | Не поддерживается |
дневной интервал | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
МАССИВ | Тип массива | список, кортеж или массив | ArrayType(elementType, [содержитNull]).(2) |
КАРТА | Тип карты | дикт | MapType(keyType, valueType, [valueContainsNull]). (2) |
СТРУКТУРА | Тип структуры | список или кортеж | StructType(поля). Поле является последовательностью StructField. (4) |
Структурное поле | Тип значения типа данных этого поля (например, Int для StructField с типом данных IntegerType) | StructField(name, dataType, [nullable]).(4) |
Тип SQL | Тип данных | Тип значения | API для доступа или создания типа данных |
---|---|---|---|
TINYINT | Тип байта | целое (1) | «байт» |
МАЛЕНЬКИЙ | Короткий | целое (1) | «короткий» |
ИНТ | Целочисленный тип | целое число | «целое» |
БОЛЬШОЙ | Длинный | целое (1) | «длинный» |
ПЛАВАЮЩИЙ | Плавающий Тип | цифровой (1) | «плавающая» |
ДВОЙНОЙ | Двойной тип | цифровой | «двойной» |
ДЕСЯТИЧНЫЙ (p,s) | Десятичный тип | Не поддерживается | Не поддерживается |
СТРОКА | Тип строки | символ | «строка» |
ДВОИЧНЫЙ | Двоичный тип | необработанный | «двоичный» |
Логический | Логический тип | логический | логическое значение |
TIMESTAMP | Тип метки времени | POSIXct | «отметка времени» |
TIMESTAMP_NTZ | Метка времениNTZType | дата-время. дата-время | Временная меткаNTZType() |
ДАТА | Тип даты | Дата | «дата» |
интервал год-месяц | ГодМесяцИнтервалТип | Не поддерживается | Не поддерживается |
дневной интервал | DayTimeIntervalType | Не поддерживается | Не поддерживается |
МАССИВ | Тип массива | вектор или список | list(type=’array’, elementType=elementType, containsNull=[containsNull]).(2) |
КАРТА | Тип карты | окружающая среда | list(type=’map’, keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]).(2) |
СТРУКТУРА | Тип структуры | именной список | список (тип = «структура», поля = поля). fields является последовательностью StructField. (4) |
Структурное поле | Тип значения типа данных этого поля (например, целое число для StructField с типом данных IntegerType) | список(имя=имя, тип=тип данных, nullable=[nullable]).(4) |
(1) Номера преобразуются в домен во время выполнения. Убедитесь, что числа находятся в пределах допустимого диапазона.
(2) Необязательное значение по умолчанию равно TRUE
.
(3) Интервальные типы
YearMonthIntervalType([startField,] endField)
: Представляет интервал год-месяц, который состоит из непрерывного подмножества следующих полей:startField
— самое левое поле, аendField
— самое правое поле типа.
Допустимые значенияstartField
иendField
:0(МЕСЯЦ)
и1(ГОД)
.DayTimeIntervalType([startField,] endField)
: Представляет дневной интервал, состоящий из непрерывного подмножества следующих полей:startField
— самое левое поле, аendField
— самое правое поле типа.
Допустимые значенияstartField
иendField
:0(DAY)
,1(HOUR)
,2(MINUTE)
,3(SECOND)
.
(4) StructType
StructType(поля)
Представляет значения со структурой, описанной последовательностью, списком или массивом изStructField
с (поля).
Два поля с одинаковыми именами не допускаются.StructField(имя, тип данных, обнуляемый)
Представляет поле вStructType
.
Имя поля обозначаетсяname
.
Тип данных поля указывается dataType.
nullable
указывает, могут ли значения этих полей иметьnull
значений. Это значение по умолчанию.
Общие сведения о типах данных SQL Server
Объявления
В следующих разделах описываются типы данных, поддерживаемые SQL Server.
Типы данных SQL Server
Типы данных, поддерживаемые Microsoft SQL Server, можно разделить на три основные категории: строковые, числовые и типы данных даты/времени.
Строковые типы данных
Строковые типы данных обычно используются для хранения имен, адресов, описаний или любых значений, содержащих буквы и цифры, включая двоичные данные, такие как изображения или аудиофайлы.
Тип данных | Описание |
---|---|
символов ( n ) | Сохраняет строку символов фиксированной длины. Максимальная длина 8000 символов. |
varchar( n ) | Сохраняет строку символов переменной длины. Максимальная длина 8000 символов. |
varchar (макс.) | Сохраняет строку символов переменной длины. Здесь max указывает, что максимальный размер хранилища составляет 2 ГБ. |
текст | Сохраняет строку символов переменной длины. Максимальный размер хранилища составляет 2 ГБ. |
нчар | Сохраняет строку Unicode фиксированной длины. Максимальная длина 4000 символов. |
нварчар | Сохраняет строку Unicode переменной длины. Максимальная длина 4000 символов. |
nvarchar (макс.) | Сохраняет строку Unicode переменной длины. Здесь max указывает, что максимальный размер хранилища составляет 2 ГБ. |
текст | Сохраняет строку Unicode переменной длины. Максимальный размер хранилища составляет 2 ГБ. |
двоичный ( n ) | Сохраняет двоичные данные фиксированной длины. Максимальный размер хранилища составляет 8000 байт. |
varbinary( n ) | Сохраняет двоичные данные переменной длины. Максимальный размер хранилища составляет 8000 байт. |
переменная(макс.) | Сохраняет двоичные данные переменной длины. Здесь макс указывает, что максимальный размер хранилища составляет 2 ГБ. |
изображение | Сохраняет двоичные данные переменной длины. Максимальный размер хранилища составляет 8000 байт. |
Числовые типы данных
Числовые типы данных обычно используются для хранения таких данных, как цена, зарплата и т. д.
Тип данных | Описание |
---|---|
бит | Позволяет сохранить значение 1, 0 или NULL . |
крошечный | Сохраняет целочисленные значения в диапазоне от 0 до 255. |
маленький | Сохраняет целочисленные значения в диапазоне от -32 768 до 32 767. |
внутр. | |
числовой ( р , с ) | Числовой тип данных функционально эквивалентен десятичному типу . |
маленькие деньги | Позволяет точно хранить денежные или валютные значения в диапазоне от -214 748,3648 до 214 748,3647. |
деньги | Позволяет точно хранить денежные значения в диапазоне от -922 337 203 685 477,5808 до 922 337 203 685 477,5807. |
с плавающей запятой (n) | Сохраняет числовые значения с плавающей запятой. Допустимые значения: от -1,79E+308 до -2,23E-308, 0 и от 2,23E-308 до 1,79E+308. |
реальный | Сохраняет числовые значения с плавающей запятой. Допустимые значения от -3,40E + 38 до -1,18E — 38, 0 и 1,18E — 38 до 3,40E + 38, |
При объявлении или десятичного
или числового
столбца можно указать точность и масштаб, например десятичный ( p , s )
или 9 0077 числовой ( р , с ) , где p или точность указывает максимальное общее количество цифр, которые могут быть сохранены как слева, так и справа от десятичной точки. Точность должна быть в диапазоне от 1 до 38. Точность по умолчанию — 18.
Принимая во внимание, что s или шкала указывает максимальное количество цифр, которое может быть сохранено справа от десятичной точки. Это число вычитается из p , чтобы определить максимальное количество цифр слева от десятичной точки. Масштаб должен быть значением от 0 до p. Масштаб по умолчанию 0.
Например, столбец price decimal(6,2)
может хранить любое значение с шестью цифрами и двумя десятичными знаками, т. е. в диапазоне от -9999,99 до 9999,99.
Типы данных даты и времени
Типы данных даты и времени обычно используются для хранения таких данных, как дата рождения, дата приема на работу, дата и время создания или обновления записи в таблице и т. д.
Тип данных | Описание |
---|---|
дата | Сохраняет значение даты в диапазоне от 0001-01-01 (1 января, 1) до 9999-12-31 (31 декабря 9999 г.). |
время | Сохраняет время суток с точностью до 100 наносекунд. Допустимые значения: от 00:00:00,0000000 до 23:59:59,9999999. |
дата-время | Сохраняет комбинированное значение даты и времени с точностью до 3,33 миллисекунды. Допустимый диапазон дат для datetime : с 1753-01-01 (1 января 1753 г.) до 9999-12-31 (31 декабря 9 декабря).999). |
дата-время2 | Тип datetime2 является расширением типа данных datetime , который имеет более широкий диапазон дат. Допустимый диапазон дат для datetime2 : с 0001-01-01 (1 января) до 9999-12-31 (31 декабря 9999 г.). |
малая дата и время | Сохраняет комбинированное значение даты и времени с точностью до 1 минуты. Действительный диапазон дат для smalldatetime — с 1900-01-01 (1 января 1900 г.) по 2079-06-06 (6 июня 2079 г.). |
смещение даты и времени | То же, что и datetime2 с добавлением смещения часового пояса. Формат по умолчанию: ГГГГ-ММ-ДД чч:мм:сс[.nnnnnnn] [{+|-}чч:мм] . Допустимый диапазон смещения часового пояса: от -14:00 до +14:00.
|