Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Общие правила использования выражений.




Выражение - сочетание символов и операторов, используемое компонентом SQL Server Database Engine для вычисления одиночного значения данных. Отдельные константы, переменные, столбцы и скалярные функции являются примерами простых выражений. Для соединения двух и более простых выражений в одно сложное используются операторы.

Синтаксис

{ constant | scalar_function | [ table_name. ] column | variable

| ( expression ) | ( scalar_subquery )

| { unary_operator } expression

| expression { binary_operator } expression }

Аргументы:

Ключ Определение
constant Символ, представляющий одно конкретное значение данных.
scalar_function Элемент синтаксиса языка Transact-SQL, который предоставляет определенную службу и возвращает одиночное значение. Аргумент scalar_function может быть встроенной скалярной функцией, такой как SUM, GETDATE или CAST, либо пользовательской скалярной функцией.
[ table_name. ] Имя или псевдоним таблицы.
column Имя столбца. Только имя столбца используется в выражении.
variable Имя переменной или параметр.
(expression) Любое допустимое выражение из определенных в этом разделе. Скобки являются операторами группировки, гарантирующими, что все операторы выражения внутри скобок будут выполнены, прежде чем результирующее выражение будет объединено с другим.
(scalar_subquery) Вложенный запрос, возвращающий одиночное значение.
{ unary_operator } Оператор, имеющий только один числовой операнд.
{ binary_operator } Оператор, определяющий способ, которым два выражения объединяются для получения одиночного результата. Аргумент binary_operator может быть арифметическим, логическим, битовым или унарным оператором, а также оператором присвоения (=), сравнения или оператором сцепления строк (+).

Замечания:

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

· Выражения содержат данные одинаковых типов.

· Тип данных с более низким приоритетом может быть неявно преобразован в тип данных с более высоким приоритетом.

Если выражения не удовлетворяют этим условиям, функция CAST или CONVERT явным образом преобразует тип данных с более низким приоритетом или в тип данных с более высоким приоритетом, или к промежуточному типу данных, который затем может быть неявно преобразован в тип данных с более высоким приоритетом. CAST и CONVERT будут рассмотрены позднее.

Если неявное или явное преобразование не поддерживается, эти два выражения объединить невозможно.

 

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

Если неявное преобразование не поддерживается, возвращается ошибка.

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

В SQL Server 2005 используется следующий приоритет типов данных (последовательно уменьшается от 1 и далее):

1. определяемые пользователем типы данных (высший приоритет);

2. sql_variant;

3. xml;

4. datetime;

5. smalldatetime;

6. float;

7. real;

8. decimal;

9. money;

10. smallmoney;

11. bigint;

12. int;

13. smallint;

14. tinyint;

15. bit;

16. ntext;

17. text;

18. image;

19. timestamp;

20. uniqueidentifier;

21. nvarchar (включая nvarchar(max))

22. nchar;

23. varchar (включая varchar(max))

24. char;

25. varbinary (включая varbinary(max))

26. binary (низший приоритет)

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...