NUMBER в Oracle SQL — как задавать числовые типы данных

🟢 NUMBER в Oracle SQL. Введение

NUMBER — это основной числовой тип данных в Oracle SQL. Он позволяет хранить целые числа, числа с плавающей запятой, десятичные значения — всё в одном универсальном формате.

Тип NUMBER используется при создании таблиц, определении переменных в PL/SQL и передаче значений в функции и процедуры.


🔤 Написание

sql
NUMBER[(precision[, scale])]
  • precision — общее количество цифр (до и после запятой)

  • scale — количество цифр после запятой


🔄 Где используется NUMBER

  • Хранение ID, сумм, цен, количеств

  • Контроль точности в расчётах

  • Создание ограничений (CHECK, DEFAULT)

  • Использование в арифметике и функциях

  • Объявление переменных в PL/SQL


🧪 10 Примеров использования NUMBER

1️⃣ Простое объявление столбца

sql
CREATE TABLE accounts (
account_id NUMBER,
balance NUMBER
);

2️⃣ NUMBER с точностью (целое число до 5 цифр)

sql
CREATE TABLE items (
item_id NUMBER(5)
);

3️⃣ NUMBER с точностью и масштабом (2 знака после запятой)

sql
CREATE TABLE products (
price NUMBER(8,2)
);

4️⃣ NUMBER без указания — максимум (38 цифр)

sql
DECLARE
v_total NUMBER;
BEGIN
v_total := 1234567890;
END;

5️⃣ Использование в CHECK-ограничении

sql
CREATE TABLE students (
score NUMBER(3),
CONSTRAINT check_score CHECK (score BETWEEN 0 AND 100)
);

6️⃣ Арифметические операции с NUMBER

sql
SELECT salary, salary * 0.1 AS bonus
FROM employees;

7️⃣ Использование в PL/SQL-процедуре

plsql
DECLARE
v_amount NUMBER(10,2);
BEGIN
v_amount := 1234.56;
END;

8️⃣ Хранение отрицательных и нулевых значений

sql
INSERT INTO balances (amount) VALUES (-50);
INSERT INTO balances (amount) VALUES (0);

9️⃣ NUMBER с нулевым масштабом = только целые

sql
CREATE TABLE stock (
quantity NUMBER(5,0)
);

🔟 ROUND и TRUNC с NUMBER

sql
SELECT ROUND(123.456, 2), TRUNC(123.456, 2)
FROM dual;

🧩 Заключение

NUMBER — универсальный и гибкий числовой тип в Oracle SQL. Он позволяет точно контролировать, какие данные хранятся, и гарантирует правильные результаты при вычислениях.

💡 Запомни:

  • NUMBER(p, s)p цифр всего, s — после запятой

  • Без указания — максимум 38 цифр

  • Поддерживает отрицательные, нулевые и десятичные значения

  • Используется в таблицах, переменных, выражениях, функциях


🔜 Следующая статья:

NULL в Oracle SQL — как работать с пустыми значениями


 

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии