Decimal тип данных sql: decimal и numeric (Transact-SQL) – SQL Server

Типы данных (Transact-SQL) – SQL Server





Twitter




LinkedIn




Facebook




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










  • Статья

  • Чтение занимает 2 мин

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

В SQL Server у каждого столбца, локальной переменной, выражения и параметра есть определенный тип данных. Тип данных — атрибут, определяющий, какого рода данные могут храниться в объекте: целые числа, символы, данные денежного типа, метки времени и даты, двоичные строки и так далее.

SQL Server предоставляет набор системных типов данных, которые определяют все возможные типы данных для использования в SQL Server. Вы также можете определить собственные типы данных в Transact-SQL или Microsoft .NET Framework. Псевдонимы типов данных основываются на системных типах. Дополнительные сведения о псевдонимах типов данных см. в статье CREATE TYPE (Transact-SQL). Пользовательские типы данных обладают свойствами, зависящими от методов и операторов класса, который создается на одном из языков программирования, поддерживаемых .NET Framework.

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

  • Тип данных результата определяется применением правил очередности типов данных к входным выражениям. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
  • Параметры сортировки результата определяются правилами очередности параметров сортировки, если тип данных результата — char, varchar, text, nchar, nvarchar или ntext. Дополнительные сведения см. в разделе Очередность параметров сортировки (Transact-SQL).
  • Точность, масштаб и длина результата зависят от точности, масштаба и длины входных выражений. Дополнительные сведения см. в разделе Точность, масштаб и длина (Transact-SQL).

SQL Server предоставляет синонимы типов данных для совместимости со стандартом ISO. Дополнительные сведения см. в статье Синонимы типов данных (Transact-SQL).

Категории типов данных

Типы данных в SQL Server объединены в следующие категории:

Точные числа

Символьные строки в Юникоде

Приблизительные числа

Двоичные данные

Дата и время

Прочие типы данных

Символьные строки

В зависимости от параметров хранения, некоторые типы данных в SQL Server относятся к следующим группам:

  • Типы данных больших значений: varchar(max) и nvarchar(max)

  • Типы данных больших объектов: text, ntext, image, varbinary(max) и xml

    Примечание

    Хранимая процедура sp_help возвращает -1 в качестве значения длины для типов данных большого объема и xml.

Точные числа

bigint

numeric

smallint

decimal

smallmoney

tinyint

Приблизительные числа

Дата и время

datetimeoffset

datetime2

smalldatetime

datetime

Символьные строки

varchar

Символьные строки в Юникоде

nvarchar

Двоичные данные

binary

varbinary

Прочие типы данных

курсор

rowversion

hierarchyid

uniqueidentifier

sql_variant

Типы пространственной геометрии

Типы пространственной географии

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

CREATE PROCEDURE (Transact-SQL)
Инструкция CREATE TABLE (Transact-SQL)
DECLARE @local_variable (Transact-SQL)EXECUTE (Transact-SQL)
Выражения (Transact-SQL)
Функции (Transact-SQL)
LIKE (Transact-SQL)
sp_droptype (Transact-SQL)
sp_help (Transact-SQL)
sp_rename (Transact-SQL)






Числовые типы данных

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


Целые числа


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





















Тип
Знаковый
диапазон

Беззнаковый диапазон
(Только в в MySQL)
TINYINT [(M)] -27
÷ 27-1 (MySQL)


0 ÷ 28-1 (MS SQL)
0 ÷ 28-1
SMALLINT[(M)] -215
÷ 215-1
0 ÷ 216-1
INT[(M)] -231
÷ 231-1
0 ÷ 233-1
BIGINT[(M)] -263
÷ 263-1
0 ÷ 264-1


Синтаксис спецификации целочисленного типа таков:


col_type ([M]) [UNSIGNED]
[ZEROFILL] (Атрибуты UNSIGNED, ZEROFILL поддерживаются только в MySQL)


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


Атрибут UNSIGNED обозначает беззнаковое число и исключает появление
отрицательных величин. Начальным значением для такого типа будет
значение 0.


Атрибут ZEROFILL говорит о том, что в случае необходимости число должно
быть дополнено ведущими нулями до нужной размерности. Например, для
столбца, объявленного как INT(5) ZEROFILL, величина 4 извлекается как
00004.


Числа с плавающей запятой


Числа с плавающей запятой представляют собой приблизительные значения.
Они подходят для столбцов, где хранятся дробные величины или числа,
выходящие за пределы самого крупного целочисленного диапазона (BIGINT).
Имеются два типа чисел с плавающей запятой: числа одинарной точности
(FLOAT) и числа двойной точности (DOUBLE PRECISION, REAL).


Синтаксис спецификации типа с плавающей запятой таков:


col_type ([M]) [ZEROFILL]
(Атрибут
ZEROFILL поддерживаются только в MySQL)


Значение параметра M (размерность) должно лежать в пределах от 1 до 53.
Значением по умолчанию является 53.


Десятичные числа


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


Синтаксис спецификации для десятичного типа таков:


DECIMAL[(M[,D])] NUMERIC
[(M[,D])]


Атрибут M определяет размерность, а атрибут D – точность (количество
цифр после запятой). Если атрибут D равен 0, величины будут
представлены без десятичного знака, т.е. без дробной части.
Максимальное значение атрибута М равно 65. В случае размерности 6 и
точности 2 допустимый диапазон значений будет таким: -9999,99
— 9999,99.

Понимание типа данных SQL Decimal

Цель этой статьи — познакомить вас с типом данных SQL Decimal и его использованием на различных примерах. Мы также увидим, как мы можем использовать этот тип данных в SQL Server, чтобы упростить работу разработчика SQL.

Введение

Организации ежедневно имеют дело с десятичными знаками, и эти десятичные значения можно увидеть повсюду в разных секторах, будь то банки, медицинская промышленность, биометрия, заправочные станции, финансовые отчеты, спорт и так далее. Использование целых чисел (путем округления десятичных чисел) определенно упрощает работу, но часто приводит к неточным результатам, особенно когда мы имеем дело с большим количеством значений и важных данных. В таких сценариях идеально использовать тип данных Sql Decimal в SQL Server для получения правильных результатов с идеальной точностью.

Разработчикам SQL становится очень важно выбирать правильные типы данных в структуре таблицы при проектировании и моделировании баз данных SQL. Давайте двигаться вперед и исследовать тип данных Decimal в SQL Server.

Необходимое условие

Тип данных SQL Decimal используется в SQL Server с незапамятных времен. Вы можете использовать любую установленную версию SQL Server (начиная с 2000 или выше), чтобы понять этот тип данных. В этой статье мы будем использовать SQL Server 2017 для демонстрационных целей. Если в вашей системе не установлена ​​какая-либо версия и вы хотите потренироваться с версией 2017 года, загрузите ее отсюда.

Основной синтаксис типа данных Decimal в SQL Server

Давайте сначала рассмотрим базовый синтаксис типа данных SQL Decimal. Обозначается следующим образом:

  • десятичный [(p [s])]

Где,

  • p означает Точность, общее количество цифр в значении, т.е. по обе стороны от десятичной точки
  • s означает Масштаб, количество знаков после запятой

Значение по умолчанию p равно 18, а s равно 0, и для обоих этих значений минимальное значение равно 1, а максимальное — 38.

Короче говоря, определяя параметры в типе данных SQL Decimal, мы оцениваем, сколько цифр будет иметь столбец или переменная, а также количество цифр справа от десятичной точки.

Например, десятичное число (4,2) указывает, что число будет иметь 2 цифры до десятичной точки и 2 цифры после запятой, что-то вроде этого должно быть числовым значением – ##.##.

Здесь важно отметить одну важную вещь: параметр s (Масштаб) может быть указан только в том случае, если указан параметр p (Точность). Масштаб всегда должен быть меньше или равен точности.

Определение десятичного типа данных SQL

Давайте поработаем с очень популярной математической константой — π, также известной как Pi, которая имеет значение, равное 3,14159 (22/7 в дробях). Скопируйте и вставьте приведенный ниже запрос в новое окно запроса и выполните его.

объявить @piwithnodecimal decimal (6,0) = 3,14159

Declare @piupto5decimal decimal (6,5) = 3,14159

DELARE @Piupto1decimal Decimal (3,1) = 3,14159

. Piupto5Decimal, @Piupto1Decimal AS Piupto1Decimal

Приведенный выше набор результатов показывает, как SQL Server обрабатывает каждое сочетание точности и масштаба как отдельный тип данных. Как и здесь, десятичный (6, 0) ведет себя иначе, чем десятичный (6,5) и десятичный (3,1) типы данных и рассматриваются как три разных типа. Таким образом, мы можем настроить параметры в десятичном типе SQL для достижения желаемых результатов.

Теперь, когда мы знаем, как создать этот тип данных Decimal в SQL Server, давайте рассмотрим его на многочисленных примерах.

Использование десятичных знаков SQL в таблицах

Давайте быстро создадим новую таблицу под названием «Пациенты», в которой для высоты и веса столбцов используется десятичный тип данных. Мы вставим несколько строк, используя предложение INSERT, как показано ниже, для демонстрационных целей.

1

2

3

4

5

6

7

8

9

10

11

Создание таблицы DBO. Patients

(имя VARCHAR (10),

Пол VARCHAR (2),

Высота Десятиц. PATIENTS VALUES(‘John’,’M’,6.1,80.4)

ВСТАВИТЬ В PATIENTS VALUES(‘Bred’,’M’,5.8,73.7)

ВСТАВИТЬ В PATIENTS VALUES(‘Leslie’,’F’,5.3 ,66,9)

ВСТАВИТЬ В ЗНАЧЕНИЯ ПАЦИЕНТОВ(‘Rebecca’,’F’,5.7,50.2)

ВСТАВИТЬ В ЗНАЧЕНИЯ ПАЦИЕНТОВ(‘Shermas’,’M’,6.5,190.6)

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

ВЫБЕРИТЕ * ИЗ dbo.PATIENTS

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

  1. ВСТАВИТЬ В ЗНАЧЕНИЯ ПАЦИЕНТОВ («Самое большое», «М», «10,9», 88,5)

  2. ВСТАВИТЬ В ЗНАЧЕНИЯ ПАЦИЕНТОВ («Халк», «М», «9,9», 1000,45)

Он сталкивается с приведенной ниже ошибкой, говорящей об ошибке арифметического переполнения, и SQL Server завершает выполнение операторов.

Давайте перейдем к корню этой проблемы:

  • Высота Десятичный (3, 2) означает, что значение может состоять из 3 цифр в целом и 2 цифр справа от десятичной точки. В первой строке кода выше значение 10,9(рассматривается как 10,90 = 4 цифры в целом) превышает указанный диапазон (3, 2) и вызывает переполнение
  • Десятичный вес (5,2) означает, что общее количество цифр не может превышать 5, и 2 цифры могут быть размещены справа от десятичной дроби. Однако значение 1000,45 во второй строке вышеприведенного кода превышает указанный диапазон (5, 2), поскольку это означает всего 6 цифр и выдает ошибку переполнения.
  • Краткое примечание . Если вы заметили, что в приведенном выше сообщении об ошибке вместо десятичного типа данных указан «числовой тип данных», причина в том, что десятичный и числовой типы данных точно совпадают, оба типы данных с фиксированной точностью и могут использоваться взаимозаменяемо

Устранение ошибки

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

ИЗМЕНИТЬ ТАБЛИЦУ dbo.Пациенты ИЗМЕНИТЬ СТОЛБЦ Десятичный рост (4,2)

ИЗМЕНИТЬ ТАБЛИЦУ dbo.Пациенты ИЗМЕНИТЬ СТОЛБЦ Вес десятичный (6,2)

После изменения выполните запросы на вставку, чтобы вставить эти строки в таблицу.

Мы видим, что строки добавляются в таблицу.

Рекомендации по хранению данных с десятичным типом данных в SQL Server

Тип данных SQL Decimal требует следующих байтов хранения для указанной точности, как указано ниже Microsoft:

Точность

Хранилище (байт)

1 – 9

5

10 – 19

9

20 – 28

13

29 – 38

17

Потребление пространства для типа данных SQL Decimal зависит от определения столбца, а не от размера присваиваемого ему значения. Например, Десятичное число (12, 4) со значением 888,888 занимает 9байт на диске, а десятичное (22, 2) значение 9999,99 потребляет 13 байт на диске. Вот почему этот тип данных относится к столбцам фиксированной длины.

Как разработчик SQL, я всегда стараюсь использовать тип данных SQL Decimal как десятичный (9, 2), который занимает наименьшее количество памяти, 5 байт на диске и обеспечивает лучшую производительность.

Заключение

Я надеюсь, что в этой статье представлен понятный подход к использованию типа данных SQL Decimal. Всегда следите за тем, чтобы точность указанной десятичной или числовой переменной была достаточной для размещения присвоенных ей значений. Кроме того, мы наблюдали, как выбор правильного типа данных помогает разработчикам SQL экономить место на диске.

В случае возникновения каких-либо вопросов, пожалуйста, не стесняйтесь задавать их в разделе комментариев ниже.

Чтобы продолжить знакомство с SQL Server и используемыми в нем типами данных, я бы рекомендовал пройти по приведенным ниже ссылкам.

  • Пространственные типы данных SQL в SQL Server
  • Методы преобразования типов данных SQL Server и сравнение производительности
  • Общие сведения о типе данных GUID в SQL Server
  • Пошаговое руководство по внутреннему соединению SQL
  • Автор
  • Последние сообщения

Гаури Махаджан

Гаури является специалистом по SQL Server и имеет более чем 6-летний опыт работы с глобальными многонациональными консалтинговыми и технологическими организациями. Она очень увлечена работой над темами SQL Server, такими как база данных SQL Azure, службы отчетов SQL Server, R, Python, Power BI, ядро ​​базы данных и т. д. Она имеет многолетний опыт работы с технической документацией и увлекается разработкой технологий.

У нее большой опыт в разработке решений для обработки данных и аналитики, а также в обеспечении их стабильности, надежности и производительности. Она также сертифицирована по SQL Server и прошла такие сертификаты, как 70-463: Реализация хранилищ данных с Microsoft SQL Server.

Просмотреть все сообщения Гаури Махаджана

Последние сообщения Гаури Махаджана (посмотреть все)

SQL Server DECIMAL: все, что вам нужно знать

Время чтения: 7 минут

Тип данных SQL Server DECIMAL очень распространен тип, который вы увидите и будете использовать в своей карьере специалиста по базам данных. Вам важно знать, как он работает и правила его настройки.

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

Вам нужно знать, как работает тип данных SQL Server DECIMAL? Вы пришли в нужное место!

Тип данных DECIMAL представлен в следующем БЕСПЛАТНОМ руководстве :

БЕСПЛАТНОЕ одностраничное руководство по 10 основным типам данных, которые вам необходимо знать!

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

Мы обсудим следующие темы о типе данных DECIMAL в SQL Server:

  1. Пример использования типа данных DECIMAL в SQL Server
  2. «Точность» ДЕСЯТИЧНОГО значения
  3. «Масштаб» ДЕСЯТИЧНОГО значения
  4. Требования к хранению для ДЕСЯТИЧНЫХ значений
  5. Советы, рекомендации и ссылки

Начнем с темы 1.00 🙂

1. Пример использования типа данных SQL Server DECIMAL

Создадим простую таблицу с именем Books , в которой будет столбец DECIMAL для хранения Price книги:

 CREATE TABLE Books
(
BookID INT ПЕРВИЧНЫЙ КЛЮЧ ИДЕНТИФИКАЦИЯ,
Титул ВАРЧАР(50),
Автор ВАРЧАР(20),
ДЕСЯТИЧНАЯ цена(5,2)
) 

Синтаксис для DECIMAL следующий: DECIMAL(p, s)

« p » означает «Точность». Это 90 170 всего 90 171 числа цифр, которые мы можем сохранить, как слева, так и справа от десятичной точки.

« s » означает «Шкала». Это количество цифр, которые мы можем хранить справа от десятичной точки .

Если подумать, количество цифр, которые мы можем сохранить до левого десятичного числа, будет p – s . Таким образом, в нашем примере мы можем сохранить до 3 цифры слева от десятичной дроби при сохранении Цена книги.

Итак, давайте подумаем о типах чисел, которые мы можем хранить в этом столбце DECIMAL SQL Server.

Примеры чисел, которые мы можем хранить

Будет ли работать этот оператор INSERT?:  ВСТАВИТЬ В Книги ЦЕННОСТИ («Как думает человек», «Аллен», 14.95)

Да . До осталось десятичного числа всего 2 цифры. Помните, ранее мы говорили, что у нас может быть максимум 3 . И у нас есть 2 цифры до справа от десятичной дроби, что соответствует требованиям масштаба.

Как насчет этого?:  ВСТАВИТЬ В Книги ЗНАЧЕНИЯ («Съешь эту лягушку!», «Трейси», 12.449999)

Ответ тоже да, мы можем .

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

После выполнения этого оператора INSERT строка выглядит следующим образом:

Таким образом, число 12.449999 , очевидно, имеет более двух цифр после запятой, и это все, что разрешено хранить нашему типу данных. Поэтому, когда SQL сохраняет это число, он округляет десятичную дробь до 9.0180 2-я цифра и отрезать все после этого.

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

Число 12.449999  имеет тип данных DECIMAL(8,6) . Тип данных нашего столбца всего DECIMAL(5,2) , который имеет, конечно, меньшую точность и масштаб. Поэтому SQL Server использует 90 180, округляя 90 181 для десятичных разрядов.

Наконец, можем ли мы сохранить это значение?: INSERT INTO Books VALUES («Основы T-SQL», «Ghan», 109.449999)

Да, , все хорошо! У нас есть максимальное количество цифр, разрешенных для слева десятичной дроби ( 3 ), а цифры справа будут округлены.

Пример бонуса:

Что насчет этой вставки?:  ВСТАВИТЬ В Книги ЦЕННОСТИ («Книга Закона», «Картер», 2500. 89)

Нет . Мы получаем сообщение об ошибке:

Когда дело доходит до цифр до слева десятичного знака, вся идея «округления» теряется. Существует строгое ограничение на количество цифр, разрешенных слева от десятичной дроби, и SQL Server ничего не будет округлять до , если вы превысите это ограничение.

В нашем случае допустимое количество цифр слева от десятичной точки равно 3 , помните? Так что мне просто не разрешено хранить число с 4 цифрами (или более) слева от десятичной дроби.

Наконец, как насчет этого примера?:  ВСТАВИТЬ В Books VALUES ("American Fire", "Hesse", 24)

Мы не указали десятичных разрядов, так будет ли это работать?

Да . SQL Server просто преобразует это в 24.00 , удовлетворяя количеству цифр справа от десятичной дроби (также известное как «шкала»):

2.

«Точность» значения DECIMAL

Давайте поговорим немного больше о значении « p ». Как мы знаем, «p» представляет собой общее количество цифр, которые можно сохранить, как слева, так и справа от десятичного знака.

Наибольшее число, которое может быть “p”, это 38 . Повторим еще раз: это означает, что общее количество цифр, которые вы можете сохранить, используя тип данных DECIMAL, составляет 38 цифр.

Минимальное значение, которое может иметь «p», равно 1 .

3. «Масштаб» ДЕСЯТИЧНОГО значения

Как мы знаем, « s » представляет количество цифр, которые мы можем сохранить до справа от десятичной точки.

Значение «s» может быть любым от 0 до «p» .

Давайте задумаемся об этом на минуту. Можете ли вы иметь тип DECIMAL DECIMAL(5, 7) ?

Ну, это значит, что у нас может быть 5 всего цифр, из которых 7 справа от запятой…

Народ, это не имеет никакого смысла .

Мы определенно могли бы иметь DECIMAL(5,5) , верно? Это говорит о том, что у нас всего 5 цифр, и все из них находятся справа от десятичного знака.

Отлично! Мы просто никогда не сможем сохранить число больше .99999 . Может быть, это то, что мы хотим!

4. Требования к хранению для значений DECIMAL

Объем памяти, которую будут использовать ваши значения DECIMAL, зависит от « p ”значение. Вот разбивка:

 Требования к точному хранению
1-9 5 байт
10-19 9 байт
20-28 13 байт
29-38 17 байт

 

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

Например, если вы  знаете  ни одна из ваших книг не будет стоить больше 999 долларов, и вам не нужно видеть больше двух знаков после запятой, вам следует использовать тип данных DECIMAL(5,2) . Это не более 3 цифр слева от десятичной и не более 2 справа. Все значения в этом столбце будут использовать только 5 байт памяти.

Если кто-то не понимает тип данных DECIMAL , он может просто установить его как DECIMAL(30,10) , потому что «черт возьми, всегда лучше иметь больше пробела, чем меньше пробела, верно?».

НЕТ . Ваши значения будут использовать больше, чем 3X объем памяти, который вам действительно нужен. Отлично .

Вы понимаете, почему важно знать кое-что о типах данных?

5. Советы, рекомендации и ссылки

Вот список советов и рекомендаций, которые вы должны знать о типе данных SQL Server DECIMAL:

Совет № 1: Точность и масштаб по умолчанию (18,0)

Можно полностью отказаться от значений « p » и « s » и просто сказать что-то вроде:

 DECLARE @bookPrice DECIMAL 

Точность и масштаб по умолчанию для нашей новой переменной @bookPrice будут равны (18,0) .

Всего 18 цифр, причем ни одна из них не находится справа от десятичного числа .

Другими словами, я думаю, мы можем хранить только целое число , состоящее из 18 цифр.

Если бы вы хотели это сделать, вы могли бы просто использовать обычный целочисленный тип данных, такой как INT или BIGINT.

Я думаю, гораздо более распространено точно указать желаемую точность и масштаб, чем просто использовать значение по умолчанию.

Совет № 2. Вы можете указать просто значение «p»

Это прекрасно работает:

 DECLARE @bookPrice DECIMAL(5) 

Опять же, в этой переменной @bookPrice мы указали, что хотим хранить общее число 5 цифр , причем ни один из них не находится справа от десятичного знака.

По сути, целое число, состоящее из 5 цифр.

Совет № 3: Значение «s» может быть указано только в том случае, если также указано «p»

Из нашего последнего пункта вы понимаете, что если в скобках указано одно число, SQL Server интерпретирует это как « p ”значение, которое вы хотите использовать. Невозможно указать только значение « s », а не значение « p ».

Единственный способ указать значение «s» — это если значение «p» равно , а также указано .

Совет № 4: DECIMAL и NUMERIC — это одно и то же

Об этом совете особо и говорить нечего. Они являются синонимами в SQL Server и могут использоваться взаимозаменяемо. Ознакомьтесь с моим полным руководством по DECIMAL vs NUMERIC.

Ссылки

Вот ссылка на официальную документацию Microsoft по десятичным и числовым типам данных: decimal and numeric (Transact-SQL)

Следующие шаги:

Оставьте комментарий , если этот урок был вам полезен!

Чтобы быть типом данных MASTER , вы должны загрузить следующее БЕСПЛАТНОЕ одностраничное руководство :

БЕСПЛАТНОЕ одностраничное руководство по 10 основным типам данных, которые вам нужно знать!

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