Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-50.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
204.67 Кб
Скачать
  1. Вказівка стовпців в операторі select

Вираз select_expression задає стовпці, в яких необхідно проводити вибірку. Використовуючи ключове слово AS, вираженню в SELECT можна призначити назву. Псевдонім використовується в якості імені стовпця в даному виразі і може застосовуватися в ORDER BY або HAVING. Псевдоніми стовпців можна використовувати у виразі WHERE, оскільки знаходяться в стовпцях величини на момент виконання WHERE можуть бути ще не визначені. Посилання на стовпці можуть задаватися у вигляді col_name, tbl_name.col_name або db_name.tbl_name.col_name. У виразах tbl_name або db_name.tbl_name немає необхідності вказувати префікс для посилань на стовпці в команді SELECT, якщо ці посилання не можна витлумачити неоднозначно. Для того щоб сортування проводилася в зворотному порядку, в утвердженні ORDER BY до імені заданого стовпця, в якому виробляється сортування, слід додати ключове слово DESC (спадаючий). За замовчуванням прийнята сортування в зростаючому порядку, який можна задати явно за допомогою ключового слова ASC.

42.Використання арифметичних операторів в запиті на вибірку даних

Арифметичні оператори, які можна використовувати в Transact-SQL:

Символ Операція

+ Додавання

- Віднімання

* Множення

/ Ділення

% Модуль (залишок)

У виразах можна застосовувати арифметичні оператори до стовпців, для яких визначені типи даних :

  • TINYINT,

  • SMALLINT,

  • INT,

  • FLOAT,

  • REAL,

  • SMALLMONEY

  • MONEY.

Оператор модуля (залишку) не можна застосувати до стовпців, для яких визначені типи даних MONEY, SMALLMONEY, FLOAT або REAL.

Оператор обчислення модуля (%) використовується для отримання залишку від ділення двох цілих чисел Тому його не можна застосовувати до даних, які не є цілими значеннями.

При спробі застосувати оператор модуля до стовпцю, для якого визначений тип даних, відмінний від цілого, ви отримаєте повідомлення про помилку (навіть якщо в стовпцях будуть міститися цілі значення)

При побудові виразів в операторі SELECT можна застосовувати арифметичні оператори, як до числових констант, так і до значень стовпців.

У наступному прикладі побудовано вираз, в якому до значень стовпця додається приріст 5.

SELECT Badge, Badge+5 FROM Employee

При додаванні вираження в директиву SELECT, значення обчисленого виразу будуть відображені в стовпці без заголовка.

Щоб визначити заголовок для цього стовпця, потрібно перед виразом ввести текстовий рядок, а за нею - знак рівності (=). У наступному прикладі в директиві SELECT перед виразом варто текстовий рядок, що визначає заголовок стовпця, а потім-знак рівності.

Щоб зберегти пробіли між знаками операції, укладіть текстовий рядок в одинарні або подвійні лапки.

SELECT Badge, "Badge + 5" = Badge + 5 FROM Employee

В одному і тому ж вираженні можна застосовувати арифметичні оператори до різних типів числових даних. Це називається змішаним режимом обчислень Тип результату визначається рангом коду типу даних, який зберігається в системній таблиці systypes.

За допомогою оператора SELECT можна вибрати з системної таблиці systypes імена типів даних і номери їх кодів. Ці коди для числових типів даних наведено нижче.

Тип даних Код

TINYINT 48

SMALLINT 52

INT[EGER] 56

REAL 59

MONEY 60

FLOAT 62

SMALLMONEY 122

При використанні у виразі різних типів даних, результату привласнюється тип, який має найвищий ранг.

Наприклад, значення стовпця, для якого визначений тип TINYINT або SMALLINT, будуть перетворені в тип INT, якщо у вираженні поряд з ними використані дані типу INT.

Але у правила присвоєння типів даних на основі кодів є виняток. Воно відноситься до виразів, в яких використовуються значення з стовпців типів FLOAT і MONEY. При обчисленні такого виразу результату привласнюється тип MONEY, незважаючи на те, що код типу FLOAT (60) вище коду типу MONEY (62).

Номери кодів для всіх типів даних Transact-SQL можна вибрати таким чином:

SELECT Name, Type FROM systypes ORDER BY type DESC

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]