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

Типы money и smallmoney (Transact-SQL) — SQL Server





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья


Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

Типы данных, представляющие денежные (валютные) значения.

Тип данныхДиапазонПамять
moneyОт –922,337,203,685,477.5808 до 922,337,203,685,477.5807 (от –922,337,203,685,477.58
до 922,337,203,685,477.58 в Informatica. В Informatica поддерживается только два десятичных знака, а не четыре)
8 байт
smallmoneyОт -214 748,3648 до 214 748,36474 байта

Типы данных money и smallmoney имеют точность до одной десятитысячной денежной единицы, которую они представляют. В Informatica типы данных money и smallmoney имеют точность до одной сотой денежной единицы, которую они представляют.

Чтобы отделить дробные денежные единицы, например центы, от целых денежных единиц, используйте запятую. Например, 2,15 соответствует 2 долларам и 15 центам.

Для этих типов данных может использоваться любой из следующих символов валют.

Валютные или денежные данные не требуется заключать в одинарные кавычки ( ‘ ). Важно помнить, что, несмотря на возможность указания денежных значений, которым предшествует символ валюты, SQL Server не сохраняет какие-либо сведения о валюте, связанные с символом, а хранит только числовое значение.

Преобразование данных типа money

При преобразовании типа данных integer в тип money используются денежные единицы. Например, целочисленное значение 4 преобразуется в значение типа данных money величиной 4 денежные единицы.

В следующем примере выполняется преобразование значений типов smallmoney и money в значения типов varchar и decimal соответственно.

DECLARE @mymoney_sm SMALLMONEY = 3148.29,  
        @mymoney    MONEY = 3148.29;  
SELECT  CAST(@mymoney_sm AS VARCHAR) AS 'SM_MONEY varchar',  
        CAST(@mymoney AS DECIMAL)    AS 'MONEY DECIMAL';  

Результирующий набор:

SM_MONEY VARCHAR               MONEY DECIMAL  
------------------------------ ----------------------  
3148. 29                        3148    
(1 row(s) affected)  

См. также раздел

ALTER TABLE (Transact-SQL)CAST и CONVERT (Transact-SQL)CREATE TABLE (Transact-SQL)Data Types (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)






SQL Типы данных для различных блоков данных

❮ Предыдущая Следующая Глава ❯


Типы данных и диапазоны для Microsoft Access, MySQL и SQL Server.


Типы Microsoft для доступа к данным

Тип данных Описание Место хранения
Text Используйте для текста или их комбинации текста и чисел. максимум 255 символов
Memo Memo используется для больших объемов текста. Сохраняет до 65536 символов. Note: Вы не можете сортировать поле МЕМО. Тем не менее, они будут доступны для поиска
Byte Позволяет целые числа от 0 до 255 1 байт
Integer Позволяет целые числа между 32768 и 32767 2 байта
Long Позволяет целые числа между -2147483648 и 2147483647 4 байта
Single Одинарной точности с плавающей запятой. Будет ли работать с большинством знаков после запятой 4 байта
Double Двойной точности с плавающей запятой. Будет ли работать с большинством знаков после запятой 8 байт
Currency Используйте для валюты. Вмещает до 15 цифр целых долларов, плюс 4 знаков после запятой. Tip: Вы можете выбрать какой страны валюту использовать 8 байт
AutoNumber Autonumber поля автоматически дают каждой записи свой собственный номер, как правило, начиная с 1 4 байта
Date/Time Используйте для даты и времени 8 байт
Yes/No Логическое поле может отображаться как Да / Нет, True / False, или вкл / выкл. В коде, используйте константы истинные и ложные (эквивалент -1 и 0). Note: Нулевые значения не допускаются в Да / Нет полей 1 бит
Ole Object Можно хранить фотографии, аудио, видео или другие двоичные объекты (больших двоичных объектов) до 1 Гб
Hyperlink Содержать ссылки на другие файлы, в том числе веб-страниц
Lookup Wizard Пусть вам ввести список опций, которые затем могут быть выбраны из выпадающего списка 4 байта

Типы данных MySQL

В MySQL есть три основных типа: текст, номер и дата типов / времени.

Text types:

Тип данных Описание
CHAR(size) Содержит строку с фиксированной длиной (могут содержать буквы, цифры и специальные символы). Фиксированный размер указан в скобках. Можно хранить до 255 символов
VARCHAR(size) Имеет переменную длину строки (может содержать буквы, цифры и специальные символы). Максимальный размер указан в скобках. Можно хранить до 255 символов. Note: Если поставить большее значение , чем 255 он будет преобразован к типу TEXT
TINYTEXT Содержит строку с максимальной длиной 255 символов
TEXT Содержит строку с максимальной длиной 65535 символов
BLOB Для Blobs (больших двоичных объектов). Вмещает до 65535 байт данных
MEDIUMTEXT Содержит строку с максимальной длиной 16,777,215 символов
MEDIUMBLOB Для Blobs (больших двоичных объектов). Вмещает до 16,777,215 байт данных
LONGTEXT Содержит строку с максимальной длиной 4294967295 символов
LONGBLOB Для Blobs (больших двоичных объектов). Вмещает до 4,294,967,295 байт данных
ENUM(x,y,z,etc.) Пусть вам ввести список возможных значений. Вы можете перечислить до 65535 значений в списке ENUM. Если значение вставляется, что не в списке, то пустое значение будет вставлена.

Note: Значения сортируются в порядке их ввода.

Вы вводите возможные значения в этом формате: ENUM ( ‘X’, ‘Y’, ‘Z’)

SET Подобно ENUM за исключением того, SET может содержать до 64 элементов списка и может хранить более одного выбора

Number types:

Тип данных Описание
TINYINT(size) -128 До 127 нормально. От 0 до 255 UNSIGNED *. Максимальное количество цифр, который может быть указан в скобках
SMALLINT(size) -32768 До +32767 нормально. От 0 до 65535 UNSIGNED *. Максимальное количество цифр, который может быть указан в скобках
MEDIUMINT(size) -8388608 До 8388607 нормально. От 0 до 16777215 UNSIGNED *. Максимальное количество цифр, который может быть указан в скобках
INT(size) -2147483648 До 2147483647 нормально. От 0 до 4294967295 UNSIGNED *. Максимальное количество цифр, который может быть указан в скобках
BIGINT(size) -9223372036854775808 До 9223372036854775807 нормально. От 0 до 18446744073709551615 UNSIGNED *. Максимальное количество цифр, который может быть указан в скобках
FLOAT(size,d) Небольшое число с плавающей запятой. Максимальное количество цифр, который может быть указан в параметре размера. Максимальное количество цифр справа от десятичной точки задается в параметре г
DOUBLE(size,d) Большое число с плавающей запятой. Максимальное количество цифр, который может быть указан в параметре размера. Максимальное количество цифр справа от десятичной точки задается в параметре г
DECIMAL(size,d) ДВОЙНОЙ хранится в виде строки, что позволяет фиксированной запятой. Максимальное количество цифр, который может быть указан в параметре размера. Максимальное количество цифр справа от десятичной точки задается в параметре г

* Типы целочисленных имеют дополнительный вариант называется UNSIGNED. Как правило, число идет от отрицательного к положительному значению. Добавление UNSIGNED атрибута будет двигаться этот диапазон таким образом он начинается с нуля вместо отрицательного числа.

Date types:

Тип данных Описание
DATE() Свидание. Формат: YYYY-MM-DD

Note: Поддерживаемый диапазон от ‘1000-01-01’ до ‘9999-12-31’

DATETIME() * Дата и время комбинация. Формат: YYYY-MM-DD HH: MI: SS

Note: Поддерживаемый диапазон от ‘1000-01-01 00:00:00’ до ‘9999-12-31 23:59:59’

TIMESTAMP() * Временная метка. TIMESTAMP значения сохраняются как число секунд с Unix эпохи ( ‘1970-01-01 00:00:00’ UTC). Формат: YYYY-MM-DD HH: MI: SS

Note: Поддерживаемый диапазон от ‘1970-01-01 00:00:01’ UTC к ‘2038-01-09 3:14:07’ UTC

TIME() Время. Формат: HH: MI: SS

Note: Поддерживаемый диапазон от ‘-838: 59: 59’ до ‘838: 59: 59’

YEAR() Через год в формате четырехзначным двухзначным или.

Note: Допустимые значения в формате четырех цифр: 1901 до 2155. Допустимые значения в формате двух цифр: от 70 до 69 лет , что составляет лет с 1970 по 2069

* Даже если DATETIME и TIMESTAMP возвращают один и тот же формат, что они работают очень по-разному. В INSERT или UPDATE запроса, то автоматически устанавливается ТШЕЗТАМР себя к текущей дате и времени. TIMESTAMP также принимает различные форматы, такие как YYYYMMDDHHMISS, YYMMDDHHMISS, YYYYMMDD или YYMMDD.


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

String types:

Тип данных Описание Место хранения
char(n) Фиксированная ширина строка символов. Максимум 8000 символов Определяется ширина
varchar(n) Переменная строка ширина символа. Максимум 8000 символов 2 байта + количество символов
varchar(max) Переменная строка ширина символа. Максимум 1073741824 символов 2 байта + количество символов
text Переменная строка ширина символа. Максимальное 2GB текстовых данных 4 байта + количество символов
nchar Фиксированная ширина строки Unicode. Максимум 4000 символов Определяется ширина х 2
nvarchar Переменная строка ширина Unicode. Максимум 4000 символов
nvarchar(max) Переменная строка ширина Unicode. Максимальное количество символов 536,870,912
ntext Переменная строка ширина Unicode. Максимальное 2GB текстовых данных
bit Позволяет 0, 1 или NULL
binary(n) Фиксированная ширина двоичная строка. 38 -1.

Параметр р указывает максимальное общее количество цифр, которые могут быть сохранены (как слева и справа от десятичной точки). р должно иметь значение от 1 до 38. По умолчанию 18.

Параметр s указывает максимальное количество цифр, сохраненных справа от десятичной точки. s должен иметь значение от 0 до р. Значение по умолчанию равно 0

5-17 байт
smallmoney Денежные данные -214,748.3648 к 214,748.3647 4 байта
money Денежные данные -922,337,203,685,477.5808 к 922,337,203,685,477.5807 8 байт
float(n) Плавающие данные точности число от -1.79E + 308 до 1.79E + 308.

П параметр указывает, следует ли поле держать 4 или 8 байт. с плавающей точкой (24) имеет поле 4 байта и с плавающей точкой (53) имеет поле 8 байт. По умолчанию значение п 53.

4 или 8 байт
real Плавающие данные точности число от -3.40E + 38 до 3.40E + 38 4 байта

Date types:

Тип данных Описание Место хранения
datetime С 1 января 1753 года по 31 декабря 9999 с точностью 3,33 миллисекунды 8 байт
datetime2 С 1 января 0001 года по 31 декабря 9999 с точностью до 100 наносекунд 6-8 байтов
smalldatetime С 1 января 1900 года по 6 июня 2079 с точностью до 1 минуты 4 байта
date Хранить только дату. С 1 января 0001 года по 31 декабря 9999 3 байта
time Хранить время только с точностью до 100 наносекунд 3-5 байтов
datetimeoffset То же самое, как datetime2 с добавлением смещение часового пояса 8-10 байт
timestamp Сохраняет уникальный номер, который обновляется каждый раз, когда строка получает созданный или измененный. Значение временной метки основана на внутренние часы и не соответствует реальному времени. Каждая таблица может иметь только одну переменную временную метку

Other data types:

Тип данных Описание
sql_variant Сохраняет до 8000 байт данных различных типов данных, за исключением текста, NTEXT и временную метку
uniqueidentifier Магазины глобально уникальный идентификатор (GUID)
xml Магазины XML-данных в формате. Максимальная 2GB
cursor Сохраняет ссылку на курсор, используемый для операций с базами данных
table Сохраняет результат набора для последующей обработки

❮ Предыдущая Следующая Глава ❯

PostgreSQL: Документация: 15: Глава 8. Типы данных

Содержание

8.1. Числовые типы
8.1.1. Целочисленные типы
8.1.2. Числа произвольной точности
8.1.3. Типы с плавающей запятой
8.1.4. Серийные типы
8.2. Денежные типы
8.3. Типы символов
8.4. Двоичные типы данных
8.4.1. байт Шестнадцатеричный формат
8.4.2. байт Escape-формат
8.5. Типы даты/времени
8. 5.1. Ввод даты/времени
8.5.2. Вывод даты/времени
8.5.3. Часовые пояса
8.5.4. Интервал ввода
8.5.5. Интервал вывода
8.6. Логический тип
8.7. Перечисленные типы
8.7.1. Декларация перечисленных типов
8.7.2. Заказ
8.7.3. Тип Безопасность
8.7.4. Сведения о реализации
8.8. Геометрические типы
8.8.1. Очки
8.8.2. Линии
8.8.3. Сегменты линии
8.8.4. Коробки
8.8.5. Пути
8.8.6. Полигоны
8.8.7. Круги
8.9. Типы сетевых адресов
8.9.1. инет
8.9. 2. сидр
8.9.3. инет против cidr
8.9.4. макаддр
8.9.5. макаддр8
8.10. Типы битовых строк
8.11. Типы текстового поиска
8.11.1. цвектор
8.11.2. цзапрос
8.12. UUID Тип
8.13. XML-тип
8.13.1. Создание значений XML
8.13.2. Обработка кодирования
8.13.3. Доступ к значениям XML
8.14. Типы JSON
8.14.1. Синтаксис ввода и вывода JSON
8.14.2. Разработка документов JSON
8.14.3. jsonb Сдерживание и существование
8.14.4. jsonb Индексирование
8. 14.5. jsonb Подписка
8.14.6. Превращает
8.14.7. jsonpath Тип
8.15. Массивы
8.15.1. Объявление типов массивов
8.15.2. Ввод значения массива
8.15.3. Доступ к массивам
8.15.4. Изменение массивов
8.15.5. Поиск в массивах
8.15.6. Синтаксис ввода и вывода массива
8.16. Композитные типы
8.16.1. Декларация составных типов
8.16.2. Построение составных значений
8.16.3. Доступ к составным типам
8.16.4. Изменение составных типов
8.16.5. Использование составных типов в запросах
8.16.6. Синтаксис ввода и вывода составного типа
8.17. Типы диапазонов
8. 17.1. Встроенные и многодиапазонные типы
8.17.2. Примеры
8.17.3. Инклюзивные и эксклюзивные границы
8.17.4. Бесконечные (неограниченные) диапазоны
8.17.5. Диапазон ввода/вывода
8.17.6. Построение диапазонов и мультидиапазонов
8.17.7. Типы дискретных диапазонов
8.17.8. Определение новых типов диапазонов
8.17.9. Индексация
8.17.10. Ограничения на диапазоны
8.18. Типы доменов
8.19. Типы идентификаторов объектов
8.20. pg_lsn Тип
8.21. Псевдотипы

PostgreSQL имеет богатый набор собственных типов данных, доступных пользователям. Пользователи могут добавлять новые типы в PostgreSQL с помощью команды CREATE TYPE.

В таблице 8.1 показаны все встроенные типы данных общего назначения. Большинство альтернативных имен, перечисленных в столбце «Псевдонимы», являются именами, используемыми внутри PostgreSQL по историческим причинам. Кроме того, доступны некоторые типы, используемые внутри компании или устаревшие, но здесь они не перечислены.

Таблица 8.1. Типы данных

Имя Псевдонимы Описание
большое число инт8 восьмибайтовое целое со знаком
большой серийный номер серийный номер8 автоинкрементное восьмибайтовое целое число
бит [ ( п ) ]   битовая строка фиксированной длины
разные биты [ ( n ) ] варбит [ ( н ) ] битовая строка переменной длины
логический логическое значение логическое логическое значение (истина/ложь)
коробка   прямоугольная коробка на плоскости
байт   двоичные данные («массив байтов»)
символ [ ( n ) ] символов [ ( п ) ] строка символов фиксированной длины
переменный символ [ ( n ) ] варчар [ ( п ) ] строка символов переменной длины
Сидр   Сетевой адрес IPv4 или IPv6
круг   круг на плоскости
дата   календарная дата (год, месяц, день)
двойная точность поплавок8 число двойной точности с плавающей запятой (8 байт)
инет   Адрес хоста IPv4 или IPv6
целое число интервал , интервал4 четырехбайтовое целое число со знаком
интервал [ поля ] [ ( p ) ]   промежуток времени
json   текстовые данные JSON
джсонб   двоичные данные JSON, декомпозированные
линия   бесконечная линия на плоскости
левый сегмент   отрезок на плоскости
макаддр   MAC-адрес (управление доступом к среде)
макаддр8   MAC-адрес (управление доступом к среде) (формат EUI-64)
деньги   сумма в валюте
числовой [ ( p , s ) ] десятичный [ ( p , с ) ] точное числовое значение выбираемой точности
путь   геометрический путь на плоскости
pg_lsn   Порядковый номер журнала PostgreSQL
pg_snapshot   Моментальный снимок идентификатора транзакции на уровне пользователя
точка   геометрическая точка на плоскости
полигон   замкнутый геометрический путь на плоскости
реальный поплавок4 число с плавающей запятой одинарной точности (4 байта)
маленький инт2 двухбайтовое целое со знаком
мелкосерийный серийный2 автоинкрементное двухбайтовое целое число
серийный номер серийный4 автоинкрементное четырехбайтовое целое число
текст   строка символов переменной длины
время [ ( p ) ] [ без часового пояса ]   время суток (без часового пояса)
время [ ( p ) ] с часовым поясом тимец время суток, включая часовой пояс
метка времени [ ( p ) ] [ без часового пояса ]   дата и время (без часового пояса)
метка времени [ ( p ) ] с часовым поясом метка времени дата и время, включая часовой пояс
цзавери   текстовый поисковый запрос
тсвектор   документ текстового поиска
txid_snapshot   Моментальный снимок идентификатора транзакции на уровне пользователя (устаревший; см. pg_snapshot )
идентификатор пользователя   универсальный уникальный идентификатор
xml   Данные XML

Совместимость

Следующие типы (или их варианты написания) определяются SQL: bigint , bit , bit Variable , boolean , символов , символов различных , символов , varchar , дата , двойная точность , целое , интервал , числовое , десятичное , действительное , smallint , время (с часовым поясом или без него), timest amp (с часовым поясом или без него), xml .

Каждый тип данных имеет внешнее представление, определяемое входными и выходными функциями. Многие из встроенных типов имеют очевидные внешние форматы. Однако некоторые типы либо уникальны для PostgreSQL, например геометрические пути, либо имеют несколько возможных форматов, например типы даты и времени. Некоторые функции ввода и вывода необратимы, т. е. результат функции вывода может потерять точность по сравнению с исходным вводом.

Типы данных SQL | Advanced SQL

В этом уроке мы рассмотрим:

  • Типы данных
  • Изменение типа данных столбца
  • Практическая задача

Типы данных

На предыдущих уроках вы узнали, что определенные функции работают с одними типами данных, но не с другими. Например, COUNT работает с любым типом данных, а SUM работает только с числовыми данными (если это не звучит знакомо, вам следует вернуться к этому уроку. На самом деле это сложнее, чем кажется: чтобы использовать SUM , данные должны быть числовыми, но они также должны быть сохранены в базе данных в числовой форме.

Вы можете столкнуться с этим, например, если у вас есть столбец, который кажется полностью числовым, но содержит пробелы или запятые. Да, оказывается, что числовые столбцы не могут содержать запятые — если вы загружаете данные в Mode с запятыми в столбце, полном чисел, Mode будет рассматривать этот столбец как нечисловой. Как правило, числовые типы столбцов в различных базах данных SQL не поддерживает запятые или символы валюты. Чтобы усложнить ситуацию, базы данных SQL могут хранить данные в различных форматах с разным уровнем точности.

Тип данных INTEGER , например, хранит только целые числа, без десятичных дробей. С другой стороны, тип данных DOUBLE PRECISION может хранить от 15 до 17 значащих десятичных цифр (почти наверняка больше, чем вам нужно, если вы не физик). Типов данных очень много, поэтому нет смысла перечислять их все здесь. Чтобы просмотреть полный список, щелкните здесь.

Вот список точных типов данных, хранящихся в режиме:

Импортировано как Сохранено как С этими правилами
Строка ВАРЧАР(1024) Любые символы с максимальной длиной поля 1024 символа.
Дата/время ВРЕМЕННАЯ МЕТКА Сохраняет значения года, месяца, дня, часа, минуты и секунды в формате ГГГГ-ММ-ДД чч:мм:сс.
Номер ДВОЙНАЯ ТОЧНОСТЬ Числовой, с точностью до 17 значащих цифр после запятой.
Логический логическое значение Только значения ИСТИНА или ЛОЖЬ.

«Импортировано как» относится к типам, выбранным в потоке импорта (см. изображение ниже), «Хранится как» относится к официальному типу данных SQL, а в третьем столбце объясняются правила, связанные с типом данных SQL. .

Изменение типа данных столбца

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