Number sql: Тип данных NUMBER в PL/SQL Oracle
Содержание
Типы данных SQL — Essential SQL
В SQL столбцы таблицы предназначены для хранения значений определенного типа, таких как числа, даты или текст; они называются типами данных. Имея на выбор более тридцати типов типов данных SQL Server , типы данных могут показаться пугающими, но на самом деле в базах данных широко используются лишь некоторые из них.
Как только вы поймете типы данных в целом, это не будет сложной темой. Вы также поймете, зачем нужны типы данных и почему существует так много их разновидностей.
В этой статье мы рассмотрим наиболее распространенные типы данных и лучшие практики их использования.
Все примеры для этого урока основаны на Microsoft SQL Server Management Studio и базе данных AdventureWorks2012. Начните использовать эти бесплатные инструменты с помощью моего руководства Начало работы с SQL Server .
Содержание
- Что такое типы данных SQL Server?
- Как помогают типы SQL
- Причины использования типов данных SQL Server
- Обычно используемые типы данных SQL Server
- INT — целочисленный тип данных
- VARCHAR и NVARCHAR — текстовые значения
- DATETIME — дата и время
- DECIMAL и FLOAT — десятичные точки
- 9001 7 ДЕСЯТИЧНОЕ
- ПЛАВАЮЩЕЕ
Что такое типы данных SQL Server?
Прежде чем мы перейдем к типам данных, используемым в SQL-сервере, я думаю, всем важно понять, что такое тип данных и зачем они нужны для использования в компьютерах.
В нашем примере речь пойдет о человеке. Если бы вы думали об информации, которую могли бы использовать для описания человека, вы могли бы подумать о том, чтобы собрать его имя, дату рождения, вес и количество детей. Для каждого из этих атрибутов данные обычно делятся на несколько категорий.
Имена хранятся в виде текста, даты рождения — в виде календарных дат, вес — в виде десятичных значений, а количество детей — в виде целых чисел. Каждая из этих категорий значений является типом данных.
Вопросы для собеседования по SQL для продвинутого уровня…
Включите JavaScript
Вопросы для собеседования по SQL для продвинутого уровня
Как помогают типы SQL
Типы данных определяют характеристики данных, которые могут храниться в таком месте, как столбец базы данных. Тип данных определяет возможный набор допустимых значений. Например, тип INT, который обозначает целое число на сервере SQL, может принимать только целые числа, десятичные значения не допускаются.
Вот список некоторых людей и их возраст
Возраст — просто текстовые значения
Вы видите проблему с этими возрастами? Все они в несовместимом формате. Их не только трудно читать, но и сортировать и вычислять данные сложно. Используя типы данных SQL Server, которые обеспечивают сохранение ожидаемого типа данных, мы можем добиться гораздо лучшего результата. Вот та же таблица с возрастом, показанным целым числом
.
Возрасты, соответствующие типу данных INT
Когда возраст определяется как целое число, предполагается, что данные вводятся как целые числа.
Также, не вдаваясь в технические подробности, можно заметить, что хранение возраста в виде целого числа занимает гораздо меньше места, чем возраст в первой таблице. Это может показаться не слишком важным для небольших баз данных, но при работе с данными на смартфонах или в сценариях «больших данных» эти соображения складываются.
Как только система поймет тип данных, она сможет сортировать данные в удобном порядке, а также выполнять вычисления.
Причины для использования типов данных SQL Server
Вот несколько причин, по которым важны типы данных:
- Данные хранятся в согласованном и известном формате.
- Знание типа данных позволяет узнать, какие расчеты и формулировки можно использовать в столбце.
- Типы данных влияют на хранилище. Некоторые значения занимают больше места при хранении в одном типе данных, чем в другом. Возьмем, к примеру, наши возрастные таблицы выше.
- Типы данных влияют на производительность. Чем меньше времени у базы данных для вывода значений или их преобразования, тем лучше. «32 декабря 2015 года — это дата?»
Часто используемые типы данных SQL Server
В SQL вы определяете, какие данные хранить в столбцах. Некоторые примеры включают текстовые или числовые данные.
Это тип данных столбца и одно из его наиболее важных свойств, поскольку только оно определяет, допустимо ли значение для хранения в столбце.
Существует более тридцати различных типов данных, которые вы можете выбрать при определении столбцов, некоторые из них имеют особое назначение, например, для хранения изображений.
В этой статье мы рассмотрим семь типов данных, с которыми вы чаще всего сталкиваетесь при повседневном использовании SQL. Это:
- INT
- VARCHAR, NVARCHAR
- DATETIME
- Десятиц, Float
- BIT
Вы также можете перейти, чтобы посмотреть видео, объясняющее общие данные, используемые в SQL Server.
INT — целочисленный тип данных
Целочисленный тип данных хранит целые числа. Примеры: -23, 0, 5 и 10 045. Целые числа не включают десятичные разряды. Поскольку сервер SQL использует ряд компьютерных слов для представления целого числа, существуют максимальное и минимальное значения, которые он может представить. Тип данных INT может хранить значение от -2 147 483 648 до 2 147 483 647.
Практическое использование типа данных INT включает использование его для подсчета значений, хранения возраста человека или использования в качестве ключа идентификатора для таблицы.
Но INT не был бы так хорош для отслеживания терабайтного адресного пространства жесткого диска, поскольку тип данных INT достигает только 2 миллиардов, а нам нужно отслеживать триллионы. Для этого вы можете использовать BIGINT.
В вычислениях используется тип данных INT. Поскольку DaysToManufacture определяется как INT, мы можем легко рассчитать количество часов, умножив его на 24:9.0005
Здесь вы можете увидеть результаты
Результаты вычислений INT
Существует множество операций и функций, которые можно использовать с целыми числами, и мы рассмотрим их, когда будем углубляться в функции.
VARCHAR и NVARCHAR — текстовые значения
Используйте VARCHAR и NVARCHAR для хранения текстовых значений переменной длины. «VARCHAR» означает символ переменной длины.
Укажите количество символов для хранения в VARCHAR или NVARCHAR при определении столбца. Обратите внимание, как указано, что Name содержит пятьдесят символов:
Определение VARCHAR показано в обозревателе объектов SSMS
Что делает VARCHAR популярным, так это то, что значения менее пятидесяти символов занимают меньше места. Пространство распределяется по мере необходимости. Это отличается от типа данных CHAR , который всегда выделяет указанную длину , независимо от длины фактически хранимых данных.
Тип данных VARCHAR обычно может хранить не более 8000 символов. Используйте тип данных NVARCHAR для хранения текста Unicode. Поскольку символы UNICODE занимают вдвое больше места, в столбцах NVARCHAR может храниться до 4000 символов.
Преимущество NVARCHAR перед VARCHAR заключается в том, что он может хранить символы Unicode. Это делает удобным хранение расширенных наборов символов, подобных тем, которые используются в таких языках, как кандзи.
Базы данных, разработанные до SQL 2008, обычно используют VARCHAR; однако более современные базы данных или базы данных глобального характера, как правило, используют NVARCHAR.
DATETIME – Дата и время
Используйте тип данных DATETIME для хранения даты и времени. Пример значения DATATIME:
.
1968-10-23 1:45:37.123
Это значение на 23 октября rd , 1968 в 1:45. На самом деле время точнее. Время действительно 45 минут 37,123 секунды.
Во многих случаях достаточно просто сохранить дату. В этих случаях временная составляющая обнуляется. Таким образом, 5 ноября 90 145 года 90 146 года 1972 года равно 90 005.
1972-11-05 00:00:00.000
A DATETIME может хранить даты с 1 января 1753 г. по 31 декабря 9999 г. Это делает DATETIME удобным для записи дат в современном мире, но не так хорошо в мире Уильяма Шекспира.
По мере знакомства с различными встроенными функциями SQL вы сможете манипулировать данными. Чтобы дать вам представление, мы будем использовать функцию ГОД для подсчета сотрудников, нанимаемых каждый год. Когда задано значение DATETIME, функция YEAR возвращает год.
Мы будем использовать запрос
.
Преимущество заключается в том, что тип DATETIME гарантирует, что значения являются действительными датами. Как только это будет обеспечено, мы сможем использовать множество функций для вычисления количества дней между датами, месяца даты и так далее.
Мы подробно рассмотрим эти различные функции в другой статье блога.
DECIMAL и FLOAT – Десятичные точки
Используйте типы данных DECIMAL и FLOAT для работы с десятичными значениями, такими как 10.3.
Я объединил DECIMAL и FLOAT в одну категорию, так как они оба могут обрабатывать значения с десятичными точками; однако они оба делают это по-разному:
Если вам нужны точные значения, например, при работе с финансовыми или бухгалтерскими данными, используйте DECIMAL. Причина в том, что тип данных DECIMAL позволяет вам определить количество поддерживаемых десятичных знаков.
ДЕСЯТИЧНОЕ
DECIMAL Типы данных определяются точностью и масштабом. Точность определяет общее количество сохраняемых цифр; тогда как шкала определяет количество цифр справа от десятичной точки.
Тип данных DECIMAL указан как DECIMAL(точность,масштаб).
Тип данных DECIMAL может содержать не более 38 цифр. Точность и масштаб должны соответствовать следующему соотношению
.
0 <= масштаб <= точность <= 38 цифр
В таблице Production.Product тип данных столбца веса определен как DECIMAL(8,2). Первая цифра - точность, вторая - масштаб.
Масса определяется как состоящая из восьми цифр, две из которых справа от десятичного знака. Мы создадим следующий пример запроса, чтобы проиллюстрировать, как работает этот тип данных.
ПОПЛАВОК
В то время как типы данных DECIMAL отлично подходят для точных чисел, FLOAT действительно хороши для длинных числовых значений. Хотя значение DECIMAL может содержать всего 38 цифр, во многих инженерных и научных приложениях этого недостаточно. FLOAT поднимается на вершину в научных приложениях, где встречаются экстремальные числовые значения!
FLOATS имеют диапазон от – 1,79E+308 до 1,79E+308. Это означает, что наибольшее значение может быть 179, за которым следуют 306 нулей (действительно большое!).
Из-за способа хранения данных с плавающей запятой в компьютере (см. спецификацию IEEE 754 с плавающей запятой) сохраняемое число является очень близким приближением. Для многих приложений этого достаточно.
Из-за приблизительного поведения избегайте использования операторов <> и = в предложении WHERE. Это заявление сожгло многих администраторов баз данных!
ГДЕ масса = 2,5
Их ожидания не оправдываются, когда предполагается, что масса равна 2,5, но на самом деле в компьютере она хранится как 2,499999999999999; следовательно, не равно 2,500000000000000!
Такова природа вычислений с плавающей запятой и компьютеров. Вы и я видим 2,499999999999999 и думаем, что для практических целей это 2,5, но для компьютера это было немного не так. Дж
BIT — логические значения или значения Да/Нет
Бывают случаи, когда вам просто нужно запомнить, является ли что-то «есть» или «нет». Например, активен ли сотрудник. Именно в этих случаях тип данных BIT приходит на помощь. Этот тип данных находится в одном из трех состояний: 1, 0 или NULL.
Значение 1 означает ИСТИНА, а 0 – ЛОЖЬ.
В этом запросе мы перечисляем все должности с окладом
Вместо 1 можно было бы использовать «Истина». В этом же примере используется значение «Истина»
.
ВЫБЕРИТЕ ОТЛИЧНОЕ Заголовок Работы ОТ HumanResources.Employee ГДЕ SalariedFlag = "Истина"
И наоборот, используя «False»
ВЫБЕРИТЕ ОТЛИЧНОЕ Заголовок Работы ОТ HumanResources.Employee ГДЕ SalariedFlag = "False"
Я склоняюсь к 1 и 0, так как их легче печатать, но если вы хотите добиться удобочитаемости, то «Истина» и «Ложь» — хорошие варианты.
Важные функции SQL Server — числовые функции
Важные функции SQL Server — числовые функции 11 мая 2021 г. , Robert Gravelle
Как и большинство современных предложений реляционных баз данных, SQL Server поставляется с впечатляющим набором встроенных функций. Хотя некоторые функции поразительно похожи, точные названия и сигнатуры могут различаться. Поэтому рекомендуется освежить в памяти специфичные для SQL Server реализации общих функций SQL. В первой части этой серии мы исследовали строковые функции. В сегодняшнем выпуске мы перейдем к числовым функциям, категории, которая очень полезна при создании статистики и вычисляемых значений!
Это не тот пресс, которого тренируют, чтобы подготовиться к пляжу. Скорее, Абс — это сокращение от «Абсолют». Следовательно, функция Abs принимает в качестве аргумента числовое значение и возвращает его абсолютный эквивалент. Проще говоря, Abs возвращает положительную версию заданного числа, будь то положительное или отрицательное с самого начала. Вот сигнатура функции:
АБС (входное число)
В математике и статистике отклонение — это мера разницы между значением переменной и некоторым другим значением, часто средним значением этой переменной. Отклонение может быть как знаковым, так и беззнаковым. В последнем случае на помощь приходит функция Abs. Вот запрос к базе данных образцов ClassicModels, который показывает подписанное и беззнаковое (абсолютное) отклонение кредитных лимитов клиентов, сгруппированных по городам:
Еще одна чрезвычайно популярная числовая функция — Round. Функции округления могут сильно различаться по своей реализации; некоторые округляют только до целого числа, в то время как другие позволяют указать количество знаков после запятой для округления. Функция раунда SQL Server делает еще один шаг вперед, принимая до трех аргументов:
. ОКРУГЛ(число, десятичные дроби, операция)
- число: число с плавающей запятой (десятичное), которое необходимо округлить
- знаков после запятой: количество знаков после запятой для округления числа до
- операция: необязательный параметр, влияющий на операции округления. Если 0 (или опущено), функция выполняет обычное округление, в результате чего число 5 или больше увеличивает следующую цифру. Любое значение, отличное от 0, заставляет функцию усекать результат до числа десятичных знаков.
Крайне распространено округление денежных значений до 2 знаков после запятой. Вот наш предыдущий запрос с округленными числами:
Функция Ceiling похожа на Round, за исключением того, что она всегда округляет до следующего целочисленного значения. Следовательно, и 25,01, и 25,75 будут округлены до 26. Вот его синтаксис:
ПОТОЛОК(число)
Применим функцию "Потолок" к нашему предыдущему запросу, сравнив кредитные лимиты, округленные до ближайшего целого числа, с лимитами, отфильтрованными через "Потолок":
"Потолок" является обратной функцией "Потолок"; он всегда округляет число до первого целого числа, которое меньше или равно этому числу. С положительными числами Floor просто усекает десятичные дроби, не изменяя следующее по величине целое число. Однако с отрицательными числами он увеличивает целое число - вниз. Например, нижний предел -0,5 равен -1, так как это первое целое число меньше -0,5.
ЭТАЖ(номер)
Применение функции Floor к нашему примеру запроса без использования Abs показывает его влияние как на положительные, так и на отрицательные числа:
В сегодняшнем блоге мы рассмотрели некоторые из наиболее важных числовых функций SQL Server. В следующем выпуске мы рассмотрим функции даты.