Локальные функции (Transact-SQL)

Tsql теория > Локальные функции (Transact-SQL)
18.04.2013 14:13:08



Статья:

CHOOSE Возвращает элемент по указанному индексу из списка значений в SQL Server 2012.

CHOOSE ( index, val_1, val_2 [, val_n ] )
 

В следующем примере возвращается третий элемент из списка указанных значений.

SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;

Ниже приводится результирующий набор.

Result
-------------
Developer

(1 row(s) affected)

В следующем примере возвращается простая символьная строка на основании значения в столбце ProductCategoryID.

USE AdventureWorks2012;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;

IIF В SQL Server 2012 возвращает одно из двух значений в зависимости от того, имеет логическое выражение значение true или false.
IIF ( boolean_expression, true_value, false_value )

Пример простой инструкции IIF

DECLARE @a int = 45, @b int = 40;
SELECT IIF ( @a > @b, 'TRUE', 'FALSE' ) AS Result;

Ниже приводится результирующий набор.

Result
--------
TRUE

(1 row(s) affected)

Б.Инструкция IIF с константами NULL

SELECT IIF ( 45 > 30, NULL, NULL ) AS Result;

Результатом выполнения этой инструкции будет ошибка.

В.Инструкция IIF с параметрами NULL

DECLARE @P INT = NULL, @S INT = NULL;
SELECT IIF ( 45 > 30, @p, @s ) AS Result;

Ниже приводится результирующий набор.

Result
--------
NULL

(1 row(s) affected)