IT Log
[SQL Server] Functions - 논리 함수 본문
728x90
반응형
논리 함수
CHOOSE
CHOOSE ( index, val_1, val_2 [, val_n ] )
예시
-- 3번째 항목 반환 예시
SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;
Result
-------------
Developer
(1 row(s) affected)
-- 열을 기반으로 하는 예제
USE AdventureWorks2012;
GO
SELECT ProductCategoryID, CHOOSE (ProductCategoryID, 'A','B','C','D','E') AS Expression1
FROM Production.ProductCategory;
ProductCategoryID Expression1
----------------- -----------
3 C
1 A
2 B
4 D
(4 row(s) affected)
GREATEST / LEAST
-- 하나 이상의 식 목록에서 최대값을 반환
GREATEST ( expression1 [ ,...expressionN ] )
-- 하나 이상의 식 목록에서 최소값을 반환
LEAST ( expression1 [ ,...expressionN ] )
예시
-- 최대값
SELECT GREATEST ( '6.62', 3.1415, N'7' ) AS GreatestVal;
GO
GreatestVal
--------
7.0000
(1 rows affected)
-- 최소값
SELECT LEAST ( '6.62', 3.1415, N'7' ) AS LeastVal;
GO
LeastVal
-------
3.1415
(1 rows affected)
IIF
- NULL이 상수인 경우는 오류이나, 매개변수인 경우 정상 출력
IIF( boolean_expression, true_value, false_value )
예시
DECLARE @a INT = 45, @b INT = 40;
SELECT [Result] = IIF( @a > @b, 'TRUE', 'FALSE' );
Result
--------
TRUE
-- NULL이 상수
SELECT [Result] = IIF( 45 > 30, NULL, NULL );
-- NULL이 매개변수
DECLARE @P INT = NULL, @S INT = NULL;
SELECT [Result] = IIF( 45 > 30, @P, @S );
Result
--------
NULL
728x90
반응형
'SQL > SQL Server' 카테고리의 다른 글
[SQL Server] CREATE PROCEDURE (0) | 2022.02.14 |
---|---|
[SQL Server] 흐름제어(Control-of-Flow) (0) | 2022.02.08 |
[SQL Server] Functions - Cursor 함수 (0) | 2022.01.25 |
[SQL Server] CURSOR (0) | 2022.01.25 |
[SQL Server] Functions - 변환 함수 (0) | 2022.01.20 |
Comments