Типы данных 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,3647 | 4 байта |
Типы данных 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 (больших двоичных объектов).![]() |
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 нормально.![]() |
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() | * Временная метка.![]() 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) | Фиксированная ширина строка символов.![]() | Определяется ширина |
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) | Фиксированная ширина двоичная строка.![]() Параметр р указывает максимальное общее количество цифр, которые могут быть сохранены (как слева и справа от десятичной точки). р должно иметь значение от 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 | Хранить только дату.![]() | 3 байта |
time | Хранить время только с точностью до 100 наносекунд | 3-5 байтов |
datetimeoffset | То же самое, как datetime2 с добавлением смещение часового пояса | 8-10 байт |
timestamp | Сохраняет уникальный номер, который обновляется каждый раз, когда строка получает созданный или измененный. Значение временной метки основана на внутренние часы и не соответствует реальному времени. Каждая таблица может иметь только одну переменную временную метку |
Other data types:
Тип данных | Описание |
---|---|
sql_variant | Сохраняет до 8000 байт данных различных типов данных, за исключением текста, NTEXT и временную метку |
uniqueidentifier | Магазины глобально уникальный идентификатор (GUID) |
xml | Магазины XML-данных в формате.![]() |
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.4.1.
- 8.5. Типы даты/времени
- 8.
5.1. Ввод даты/времени
- 8.5.2. Вывод даты/времени
- 8.5.3. Часовые пояса
- 8.5.4. Интервал ввода
- 8.5.5. Интервал вывода
- 8.
- 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.9.1.
- 8.10. Типы битовых строк
- 8.11. Типы текстового поиска
- 8.11.1.
цвектор
- 8.11.2.
цзапрос
- 8.11.1.
- 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.
- 8.18. Типы доменов
- 8.19. Типы идентификаторов объектов
- 8.20.
pg_lsn
Тип - 8.21. Псевдотипы
PostgreSQL имеет богатый набор собственных типов данных, доступных пользователям. Пользователи могут добавлять новые типы в PostgreSQL с помощью команды CREATE TYPE.
В таблице 8.1 показаны все встроенные типы данных общего назначения. Большинство альтернативных имен, перечисленных в столбце «Псевдонимы», являются именами, используемыми внутри PostgreSQL по историческим причинам. Кроме того, доступны некоторые типы, используемые внутри компании или устаревшие, но здесь они не перечислены.
Таблица 8.1. Типы данных
Имя | Псевдонимы | Описание |
---|---|---|
большое число | инт8 | восьмибайтовое целое со знаком |
большой серийный номер | серийный номер8 | автоинкрементное восьмибайтовое целое число |
бит [ ( | битовая строка фиксированной длины | |
разные биты [ ( | варбит [ ( | битовая строка переменной длины |
логический | логическое значение | логическое логическое значение (истина/ложь) |
коробка | прямоугольная коробка на плоскости | |
байт | двоичные данные («массив байтов») | |
символ [ ( | символов [ ( | строка символов фиксированной длины |
переменный символ [ ( | варчар [ ( | строка символов переменной длины |
Сидр | Сетевой адрес IPv4 или IPv6 | |
круг | круг на плоскости | |
дата | календарная дата (год, месяц, день) | |
двойная точность | поплавок8 | число двойной точности с плавающей запятой (8 байт) |
инет | Адрес хоста IPv4 или IPv6 | |
целое число | интервал , интервал4 | четырехбайтовое целое число со знаком |
интервал [ | промежуток времени | |
json | текстовые данные JSON | |
джсонб | двоичные данные JSON, декомпозированные | |
линия | бесконечная линия на плоскости | |
левый сегмент | отрезок на плоскости | |
макаддр | MAC-адрес (управление доступом к среде) | |
макаддр8 | MAC-адрес (управление доступом к среде) (формат EUI-64) | |
деньги | сумма в валюте | |
числовой [ ( | десятичный [ ( | точное числовое значение выбираемой точности |
путь | геометрический путь на плоскости | |
pg_lsn | Порядковый номер журнала PostgreSQL | |
pg_snapshot | Моментальный снимок идентификатора транзакции на уровне пользователя | |
точка | геометрическая точка на плоскости | |
полигон | замкнутый геометрический путь на плоскости | |
реальный | поплавок4 | число с плавающей запятой одинарной точности (4 байта) |
маленький | инт2 | двухбайтовое целое со знаком |
мелкосерийный | серийный2 | автоинкрементное двухбайтовое целое число |
серийный номер | серийный4 | автоинкрементное четырехбайтовое целое число |
текст | строка символов переменной длины | |
время [ ( | время суток (без часового пояса) | |
время [ ( | тимец | время суток, включая часовой пояс |
метка времени [ ( | дата и время (без часового пояса) | |
метка времени [ ( | метка времени | дата и время, включая часовой пояс |
цзавери | текстовый поисковый запрос | |
тсвектор | документ текстового поиска | |
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 считывает числа как строки.