Sql

Тип данных sql decimal: decimal и numeric (Transact-SQL) — SQL Server

Универсальные типы данных SQL

w3big.com

Latest web development tutorials

Предыдущая: SQL ISNULL (), NVL ( ), IFNULL () и COALESCE () функция

Далее: SQL MS Access, MySQL и SQL Server типы данных

хранятся определения типов данных значение столбца Категория.


Универсальные типы данных SQL

Каждый столбец в таблице базы данных должны иметь имя и тип данных. Каждый столбец в таблице базы данных необходимо иметь имя и тип данных.

Тип SQL разработчик должен решить при создании SQL-таблицы для каждого столбца в таблице данных, подлежащих хранению. Тип данных представляет собой ярлык, который легко понять, каждый столбец нужный SQL Руководство Какие типы хранения данных, он также указывает, как SQL хранилища данных взаимодействия.

В следующей таблице перечислены общие типы данных SQL:

数据类型 描述
CHARACTER(n) 字符/字符串。固定长度 n。
VARCHAR(n) 或
CHARACTER VARYING(n)
字符/字符串。可变长度。最大长度 n。
BINARY(n) 二进制串。固定长度 n。
BOOLEAN 存储 TRUE 或 FALSE 值
VARBINARY(n) 或
BINARY VARYING(n)
二进制串。可变长度。最大长度 n。
INTEGER(p) 整数值(没有小数点)。精度 p。
SMALLINT 整数值(没有小数点)。精度 5。
INTEGER 整数值(没有小数点)。精度 10。
BIGINT 整数值(没有小数点)。精度 19。
DECIMAL(p,s) 精确数值,精度 p,小数点后位数 s。例如:decimal(5,2) 是一个小数点前有 3 位数小数点后有 2 位数的数字。
NUMERIC(p,s) 精确数值,精度 p,小数点后位数 s。(与 DECIMAL 相同)
FLOAT(p) 近似数值,尾数精度 p。一个采用以 10 为基数的指数计数法的浮点数。该类型的 size 参数由一个指定最小精度的单一数字组成。
REAL 近似数值,尾数精度 7。
FLOAT 近似数值,尾数精度 16。
DOUBLE PRECISION 近似数值,尾数精度 16。
DATE 存储年、月、日的值。
TIME 存储小时、分、秒的值。
TIMESTAMP 存储年、月、日、小时、分、秒的值。
INTERVAL 由一些整数字段组成,代表一段时间,取决于区间的类型。
ARRAY 元素的固定长度的有序集合
MULTISET 元素的可变长度的无序集合
XML 存储 XML 数据


Типы данных SQL Краткое справочное руководство

Тем не менее, различные базы данных для определения типов данных предоставляют различные варианты.

В следующей таблице показано общее название на множестве платформ баз данных для некоторых типов данных:

数据类型 Access SQLServer Oracle MySQL PostgreSQL
boolean Yes/No Bit Byte N/A Boolean
integer
Number (integer)
Int Number Int
Integer
Int
Integer
float Number (single) Float
Real
Number Float Numeric
currency Currency Money N/A N/A Money
string (fixed) N/A Char Char Char Char
string (variable) Text (<256)
Memo (65k+)
Varchar Varchar
Varchar2
Varchar Varchar
binary object OLE Object Memo Binary (fixed up to 8K)
Varbinary (<8K)
Image (<2GB)
Long
Raw
Blob
Text
Binary
Varbinary

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

Предыдущая: SQL ISNULL (), NVL ( ), IFNULL () и COALESCE () функция

Далее: SQL MS Access, MySQL и SQL Server типы данных


w3big.com | HTML курс | Web курс | Web Tutorial

MySQL типы данных — Java программирование

MySQL типы данных — Java программирование | ExamClouds
  • TINYINT — тип целых чисел. Диапазон значений от -127 до 128 (если может быть отрицательным), либо 0 до 255 (если не может быть отрицательным).
  • SMALLINT — тип целых чисел, В отличие от TINYINT диапазон значений значительно больше: -32 768 до 32 767 (если значение может быть отрицательным), либо от 0 до 65 535.
  • MEDIUMINT — тип целых чисел, однако диапазон значений ещё больше: от -8 388 608 до 8 388 607 (если возможны отрицательные), либо от 0 до 16 777 215.
  • INT — тип целых чисел. Самый распространённый тип данных. Диапазон: от -2 147 483 648 до 2 147 483 647, либо от 0 до 4 294 967 295.
  • BIGINT — ещё один тип целых чисел, с самым широким диапазоном значений. Используется редко, так как подобные масштабы значений бывают задействованы крайне редко. От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807, либо от 0 до 18 446 744 073 709 551 615.
  • FLOAT — вещественные числа. Точность одинарная. Число знаков после запятой может составлять не более 24-х. Диапазон значений: от -3,402823466E+38 до -1,175494351E-38, 0, и от 1,175494351E-38 до 3,402823466E+38.
  • DOUBLE — вещественный тип данных. Похож на FLOAT, но знаков после запятой больше в два раза. Количество знаков после запятой может составлять до 53-х. Допустимые значения: от -1,7976931348623157E+308 до -2,2250738585072014E-308, 0, и от 2,2250738585072014E-308 до 1,7976931348623157E+308. 
  • DECIMAL — вещественный тип данных, хранится в виде строки. Используется редко. При отсутствии знаков — диапазон значений такой же как у DOUBLE. 
  • TEXT (BLOB) — стандартный строковый тип данных. Максимальная длина 65 535 символов.
  • TINYTEXT (TINYBLOB) — строковый тип. Текст с длиной от 0 до 255 символов.
  • MEDIUMTEXT (MEDIUMBLOB) — строковый тип. Текст с длиной от 0 до 16 777 215 символов.
  • LONGTEXT (LONGBLOB) — строковый тип. Текст с длиной от 0 до 4 294 967 295 символов.
  • VARCHAR — ещё один строковый тип данных, причём строкой переменной длины от 0 до 255 символов. Чаще всего используется для сохранения переменных с логином, паролем и прочими пользовательскими данными.
  • CHAR — строковый тип данных. Длина фиксированная (независимо от количества переданных символов). Диапазон составляет от 0 до 255 символов. При передаче данных меньше 255 символов в конце к данным дописываются пробелы, чтобы длина строки достигла заданного размера. 
  • TINYBLOB — бинарный тип данных. Максимум 255 символов.
  • BLOB — бинарный тип. Максимум 65535 символов.
  • MEDIUMBLOB 
    — бинарный тип данных. Максимум 16 777 215 символов.
  • LONGBLOB — бинарный тип данных. Максимум 4 294 967 295 символов.
  • DATE — тип данных, хранящий дату. Формат следующий: YYYY-MM-DD (год, месяц, день). Например, такое значение будет удовлетворять этому полю: 2011-01-02.
  • DATETIME — тип данных, хранящий дату и время. Формат следующий: YYYY-MM-DD HH:MM:SS (год-месяц-день час-минута-секунда). Например: 2011-01-21 09:41:22 
  • TIMESTAMP — тип данных, хранящий дату и время. Имеет следующие форматы: YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, YYMMDD.
  • TIME — тип данных, хранящий время. Формат: HH:MM:SS. Например: 09:21:55.
  • YEAR — тип данных, хранящий дату (год). Форматы: YY, YYYY.

Previous

Next

Read also:

  • Базы Данных
  • Нормализация БД
  • SQL оператор CREATE
  • SQL оператор SELECT
  • SQL оператор INSERT
  • SQL объединения
  • Изменение таблиц
  • Типы ключей баз данных
  • Функции, используемые в операторах SELECT и WHERE
  • Задания

Trustpilot

Trustpilot

Десятичный тип данных

Десятичный тип данных
INFORMIX-ESQL/C Руководство программиста
Работа с числовыми данными Типы

ESQL/C поддерживает типы данных SQL DECIMAL и MONEY с типом данных decimal . Тип данных decimal — это машинно-независимый метод, который представляет числа до 32 значащих цифр с допустимыми значениями в диапазоне 10 9.0032 -129 до 10 +125 .

Тип данных DECIMAL может принимать следующие две формы:

  • ДЕСЯТИЧНОЕ ( p ) с плавающей запятой
  • Когда вы определяете столбец с типом данных DECIMAL
    (p) , он имеет всего p (< = 32) значащих цифр. ДЕСЯТИЧНОЕ ( p ) имеет диапазон абсолютных значений от 10-130 до 1012 4 .
  • ДЕСЯТИЧНОЕ ( p,s ) фиксированная точка
  • Когда вы определяете столбец с типом данных DECIMAL (p,s) , он имеет всего p (< = 32) значащих цифр (точность) и s (< = p ) цифры справа от запятой (шкала).

Полное описание типа данных DECIMAL см. в Informix Guide to SQL: Reference .

Десятичная структура

Используйте тип данных decimal для объявления переменных хоста для значений базы данных типа DECIMAL . Структура типа decimal представляет значение в переменной хоста decimal следующим образом:

    #define DECSIZE 16

    struct decimal
    {
    short dec_exp;
    короткий dec_pos;
    короткий dec_ndgts;
    символов dec_dgts[DECSIZE];
    };

    typedef struct decimal dec_t;

Заголовочный файл decimal.h содержит структуру decimal и typedef dec_t . Включите этот файл во все исходные файлы C, которые используют любые десятичные переменные хоста со следующей директивой include :

    EXEC SQL включает десятичное число;

Десятичная структура хранит число в виде пар цифр. Каждая пара представляет собой число в диапазоне от 00 до 9. 9. (Поэтому вы можете думать о паре как о цифре с основанием 100.) На рис. 5.2 показаны четыре части десятичной структуры .

Рисунок 5-2
Поля в десятичной структуре

Поле Описание
dec_exp Показатель степени нормализованного десятичного числа типа . В нормализованной форме этого числа десятичная точка находится слева от самой левой цифры. Эта экспонента представляет собой количество пар цифр, которые необходимо подсчитать из оставил для размещения десятичной точки (или как степень 100 для числа чисел с основанием 100).
dec_pos Знак десятичного номера типа . Поле dec_pos может принимать одно из следующих трех значений: 1: когда число равно нулю или больше
0: когда число меньше нуля
-1: когда значение равно нулю
dec_ndgts количество пар цифр (количество значащих цифр с основанием 100) в десятичном номере типа . Это значение также является количеством записей в массиве dec_dgts .
dec_dgts[] Массив символов, содержащий значащие цифры нормализованного числа десятичного типа, при условии, что dec_dgts[0] ! = 0 . Каждый байт в массиве содержит следующую значащую цифру с основанием 100 в десятичном числе типа , начиная с dec_dgts[0] от до dec_dgts[dec_ndgts] .

На рис. 5-3 показаны некоторые образцы десятичных значений .

Рисунок 5-3
Пример десятичных значений

Значение десятичные значения поля структуры
dec_exp dec_pos dec_ndgts dec_dgts[]
-12345,6789 3 0 5 dec_dgts[0] = 01
dec_dgts[1] = 23
dec_dgts[2] = 45
dec_dgts[3] = 67
dec_dgts[4] = 89
1234,567 2 1 4 dec_dgts[0] = 12
dec_dgts[1] = 34
dec_dgts[2] = 56
dec_dgts[3] = 70
-123,456 2 0 4 dec_dgts[0] = 01
dec_dgts[1] = 23
dec_dgts[2] = 45
dec_dgts[3] = 60
480 2 1 2 dec_dgts[0] = 04
dec_dgts[1] = 80
0,152 0 1 2 dec_dgts[0] = 15
dec_dgts[1] = 20
-6 1 0 1 dec_dgts[0] = 06

Вы можете использовать демонстрационную программу deccvasc , чтобы поэкспериментировать с тем, как ESQL/C хранит десятичных чисел .

Функции десятичной библиотеки

Вы должны выполнять все операции с числами типа decimal с помощью следующих библиотечных функций ESQL/C для типа данных decimal . Любые другие операции, модификации или анализы могут привести к непредсказуемым результатам. Дополнительные сведения о синтаксисе и поведении этих функций см. на соответствующих страницах.

Имя функции Описание Ссылка на страницу
Функции управления
декадд() Складывает два десятичных числа Б-19
деккмп() Сравнивает два десятичных числа Б-21
декопировать() Копирует десятичное число Б-23
decdiv() Делит два десятичных числа Б-34
десятичное число() Умножает два десятичных числа Б-43
разложить() Округляет десятичное число Б-45
decsub() Вычитает два десятичных числа Б-48
отключение() Усекает десятичное число Б-60
Функции преобразования типов
декваск() Преобразует значение типа C char в десятичное значение типа . Б-25
deccvdbl() Преобразует значение типа C double в десятичное значение типа . Б-28
deccvint() Преобразует значение типа C int в десятичное значение типа . Б-30
deccvlong() Преобразует 4-байтовое значение целочисленного типа C в значение десятичного типа. Б-32
dececvt() Преобразует десятичное значение в строку ASCII . Б-37
decfcvt() Преобразует десятичное значение в строку ASCII . Б-37
десятичное восхождение() Преобразует десятичное значение типа в строку ASCII . Б-50
десктодбл() Преобразует значение типа decimal в значение типа C double . Б-53
detoint() Преобразует значение десятичного типа в C значение типа int Б-55
десятичная длинна() Преобразует значение десятичного типа в 4-байтовое целочисленное значение типа C. Б-58

Сведения о функции rfmtdec() , которая позволяет форматировать десятичное число, см. в разделе Функции числового форматирования. Дополнительные сведения о десятичных значениях см. в разделе Использование операций с десятичными значениями.


Руководство программиста INFORMIX-ESQL/C , Версия 9.21
Copyright 1999, Informix Software, Inc. Все права защищены.

Какие существуют типы данных SQL?

Ниже мы раскроем различные группы типов данных и уникальные типы данных, подпадающие под каждую категорию.

В SQL существует множество различных числовых типов, и это имеет смысл, потому что… мы люди, работающие с данными, и числа важны, важна длина в битах, десятичные разряды еще важнее, а числа, в конечном счете, позволяют заинтересованным сторонам принимать определенные решения.

Существует небольшая разница в том, какие числовые типы данных поддерживаются в каждом хранилище данных, но, по сути, наиболее важно понимать разницу между целыми числами, десятичными числами и числами с плавающей запятой.

Тип Определение Примеры использования
71717 9067

7 9067 9067. Подумайте 1, 2, 72384191203 — красивые, чистые числа.
Хотя многие значения столбцов могут выглядеть как целые числа (и теоретически так оно и есть), они часто отражаются или преобразуются в десятичные/числовые типы, чтобы при необходимости обеспечить точность и масштабирование в будущем.
Десятичный Десятичный, также известный как тип NUMERIC, представляет собой числовой тип данных с точностью по умолчанию, равной 38, и масштабом, равным 0. Скорее всего, это наиболее распространенная форма числовых данных в ваших таблицах.
Число с плавающей запятой Число с плавающей запятой используется для получения приблизительных числовых значений дробей с точностью до 64 бит. Число с плавающей запятой предлагает более широкий диапазон значений по сравнению с десятичным числом. Столбцы, представляющие проценты; Долгота широта.

Строки повсюду в данных — они позволяют людям иметь описательные столбцы текстовых полей, использовать регулярные выражения в своей работе с данными и, честно говоря, они просто заставляют мир данных вращаться. Чтобы формализовать это, строковый тип — это слово или комбинация символов, которые обычно заключаются в одинарные кавычки (например, «Jaffle Shop», «1234 Shire Lane», «Plan A»).

Snowflake, Databricks, Google BigQuery и Amazon Redshift поддерживают строковый тип данных. У них могут быть немного разные подтипы для строк; некоторые хранилища данных, такие как Snowflake и Redshift, поддерживают типы строк text , char и character , которые обычно отличаются по длине в байтах по сравнению с общим строковым типом.

Опять же, поскольку большинство столбцов строкового типа являются неотъемлемой частью ваших данных, вы, вероятно, будете в порядке, используя универсальный varchar или строки для преобразования, но никогда не помешает прочитать документацию, относящуюся к поддержке строк вашего хранилища данных!

Даты, временные метки, часовые пояса — все забавные (слегка болезненные) данные, которые делают инженеров-аналитиков настоящими практиками данных (людьми, которым иногда хочется рвать на себе волосы).

Ниже мы раскроем даты, дату и время, время и временные метки, чтобы помочь вам лучше понять основные типы данных даты.

Двигаясь от простейшего к наиболее сложному, даты, обычно представляемые типом DATE, — это то, что вы обычно связываете с календарной датой (например, 2022-12-16), и они ограничены диапазоном 0001-01-01. до 9999-12-31.

Значения DATETIME содержат как календарную дату, так и время (например, 2022-12-16 02:33:24) и могут дополнительно включать доли секунды. Типы TIME обычно представлены в виде ЧЧ:ММ:СС времени и не содержат указанный часовой пояс.

Типы данных TIMESTAMP обеспечивают наибольшую спецификацию и точность момента времени и могут указываться с часовым поясом или без него. Большинство полей данных, управляемых событиями (например, время выполнения заказа, время создания учетной записи, время ухода пользователя) будут представлены в виде временных меток в ваших источниках данных. Некоторые хранилища данных, такие как Amazon Redshift и Snowflake, поддерживают различные параметры меток времени, которые позволяют явно указать часовой пояс (или его отсутствие).

В общем, два лучших способа, когда речь идет о дате и времени:

  1. Хранить (или преобразовывать) метки времени в один и тот же часовой пояс.
  2. Сохраняйте типы дат как можно более конкретными: вы всегда можете уменьшить масштаб временной метки, чтобы получить дату, но не можете получить временную метку из даты.

В конечном итоге вы сможете использовать удобные функции даты для увеличения и уменьшения даты, преобразования дат или добавления времени к датам.

Логическое значение — это значение столбца, которое может быть либо истинным, либо ложным, либо нулевым. В своих наборах данных вы будете использовать логические значения для создания is_ или has_ ​​ полей для создания четких сегментов в ваших данных; например, вы можете использовать логические значения, чтобы указать, уволился ли клиент ( has_churned ), обозначить записи сотрудников ( is_employee ) или отфильтровать записи, которые были удалены из ваших исходных данных ( is_deleted ).

Как правило, вы увидите True или False в качестве фактических логических значений в столбце, но также можете использовать числовые значения, такие как 1 и 0, для представления истинных и ложных значений. Струны из 9Однако 0659 True и False , как правило, немного легче читать и интерпретировать для конечных бизнес-пользователей.

Полуструктурированные типы данных — отличный способ объединить или агрегировать данные по нескольким полям; вы также можете оказаться в обратной ситуации, когда вам нужно распаковать полуструктурированные данные, такие как объект JSON, и разложить их на отдельные пары ключ-значение. Два основных полуструктурированных типа данных, которые вы встретите в хранилищах данных, — это JSON и массивы.

Ниже мы раскроем разницу между ними и приведем пример каждого из них.

Type Definition Example Use case
JSON When looking at data formatted in JSON, we say that the data is stored in JSON объекты. Они состоят из пар ключ-значение. Объекты JSON заключаются в фигурные скобки ({}), а каждая пара «ключ-значение» отделяется запятой. Подробнее об использовании JSON читайте здесь. {«customer_id»:2947, «order_id»:4923, «order_items»:»cheesecake»} Одна из замечательных особенностей данных JSON заключается в том, что они не требуют определения схемы — до тех пор, пока вы не удалите их.

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

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