значення null

Будь-яке арифметичне вираз буде повертати значення null, якщо будь-який операнд в цьому виразі має значення null. Тому в унарних арифметичних операціях (якщо А- вираз, що повертає значення null) обидва + а і -а повертають null. У бінарних виразах, якщо один або обидва операнда а чи в мають значення null, то результатом виразів а + в, a-в, а * в, а / в і а% в також буде null. Операнди айв повинні бути числовими виразами.

Якщо вираз містить оператори порівняння і один оператор (або обидва) має (мають) значення null, то результатом цієї операції буде null. Сле послідовно, кожне з виразів а = в, а про в, а <виа> в також поверне NULL.

У логічних виразах and, or, not поведінку значень null визначається таблицями істинності (табл. 4.11-4.13), де т означає істину, f- брехня, а й - невідоме значення (null). У цих таблицях в рядках і стовпцях послідовно представлені істинності значення логічних виразів, з якими виконуються оператори, а на перетинах рядків і стовпців дані значення результату.

Будь-яке значення null в аргументі агрегатної функції avg, sum, max, min і count виключається з обчислень відповідної функції (за винятком функції count (*)). Якщо все оброблювані стовпці містять значення null, то функція повертає null. Агрегатна функція count (*) обробляє всі значення null так само, як і непусті значення. Якщо всі стовпці містять тільки значення null, то результатом функції count (distinct ім'я_стовпця) буде 0.

Значення null відрізняються від всіх інших значень. Для числових типів даних є відмінність між нульовим значенням і значенням null. Те ж саме справедливо по відношенню до порожнього рядка і значенням null для символьних типів даних.

♦ null, якщо опція ansi_null_dflt_on в операторі set встановлена ​​в on;

♦ not null, якщо опція ansi_null_dflt_off в операторі set встановлена ​​в on. Якщо оператор set не активований, то стовпець матиме властивість not null за замовчуванням. (Стовпці типу даних timestamp можуть бути оголошені тільки як стовпці not null.)

Існує також інша опція в операторі set: concat_null_yields_null. Ця опція впливає на операцію конкатенації зі значенням null, так що будь-яка конкатенація зі значенням null дасть результат null. наприклад:

'San Francisco' + NULL = NULL

Основні особливості Transact-SQL- типи даних, предикати і функції. Типи даних відповідають типам даних стандарту ANSI SQL92. Transact-SQL підтримує безліч корисних системних функцій. Наступна глава містить вступ в оператори Transact-SQL, пов'язані з мовою визначення даних SQL. Ця частина Transact-SQL включає в себе всі оператори, необхідні для створення, зміни та видалення об'єктів бази даних.

I Вправа 4.1

У чому різниця між числовими типами даних int, smallint і tinyint?

У чому різниця між типами даних char і varchar? Коли ви повинні використовувати останній (замість першого) і навпаки?

j Вправа 4.3

Як ви можете задати формат для стовпця з типом даних date, щоб його значення могли б вводитися у вигляді 'yyyylmmlddl

У наступних двох вправах використовуйте оператор select у вікні Query Editor в SQL Server Management Studio для відображення всіх системних функцій і глобальних змінних. Наприклад, select host_id () відображає всі номери ID поточного хоста.

Використовуючи системні функції, знайдіть номера ID бази даних test (див. Вправу 2.1).

I Вправа 4.5

Використовуючи системні змінні, відобразите поточну версію програмного забезпечення системи бази даних і мова, яка використовується в цьому програмному забезпеченні.

j Вправа 4.6

Використовуючи бітові оператори s, | і Л. обчисліть наступні операції над бітовими рядками:

(11100101) (01010111)

(10110111) Л (10110001)

j Вправа 4.7

Що є результатом таких висловлювань? (А- числове, а в- логічне вираз.)

А + NULL NULL = NULL В OR NULL B AND NULL

I Вправа 4.8

Де ви можете одночасно використовувати апострофи і лапки для визначення рядків і тимчасових констант?

j Вправа 4.9

Що таке ідентифікатор з роздільниками і коли вам потрібно його використовувати?

Схожі статті