- Quoted_Identifier가 ON
- 키워드를 Blanket으로 묶어준다
- ~0 = 1 을 의미하며,
- ~1 = 0을 의미합니다.
TSQL = SQL Server에서 사용되는 SQL 언어인 Transact-SQL(DML DDL DCL)
1. T-SQL Elements :
▣ 주석(Comments)
/*으로 시작하여 */으로 막아서 주석임을 표기
각 라인마다 --표기를 하여야만 합니다.
▣ 문자열(Literals)
문자열은 앞으로 조건을 사용할 때 마니 사용하게 되는 것입니다.
SELECT구문은 고객정보라는 테이블에서 고객번호, 주민번호, 전화번호1, 전화번호2, 메모 등을 반환합니다.
문자열의 예 #1
문자열은 작은 따옴표(')로 묶어 주여야만 합니다.
그럼 따옴표를 포함하고 있는 문자열은 어떻게 표현해야 할까요?
이런 경우에는 두 개의 작은 따옴표를 써서 SQL Server 이를 문자열의 끝이 아님을 알려주어야 합니다.
문자열의 예 #2
숫자형은 작은 따옴표나 다른 기호로 묶을 필요없이 그냥 숫자형만을 기입하면 됩니다.
▣ 식별자(Identifiers)
식별자를 지정하기 위해서는 다음의 규칙을 반드시 지켜야 합니다.
식별자는 128자 이상을 넘을 수 없습니다.
또한 식별자는 첫 글자가 반드시 문자, _(밑줄), @, #으로 시작하여야 합니다. 반드시 공백이 들어가서는 안됩니다.
만약 첫 글자가 @로 시작된다면, 이는 지역변수임을 뜻함니다. 또한 #으로 시작하는 것은 임시 테이블이나 임시 프로시져를 뜻하는 것입니다. 또한 유일해야한다.
Sql server가미리 설정해둔 keyword는 Blanket([])이나 큰 따옴표로 묶어서 만 표현가능
▣ 키워드(Keywords)
SQL Server에서 미리 정의하여 놓은 식별자
Keyword의 식별자 사용
▣ 연산자(Operators)
T-SQL의 연산자는 문자열 연결, 산술연산자, 비교, Bitwise연산 등의 4가지 종류
문자열의 연결
산술연산자 + - * /
비교연산자 > < => =< = <> != !< !>
WHERE절, HAVING절, IF문에서 사용됩니다.
Bitwise 연산자는 int, smallint, tinyint형의 데이터 형식에서만 사용이 가능
integer형 값을 1과 0으로만 처리합니다. Bitwise 연산자는 다음의 4가지 종류
~( Bitwise NOT)는 의미 그대로 반대의 성격을 지닙니다.
| (Bitwise OR)는 어느 한 쪽이 1값을 가지고 있다면 1의 값을 반환합니다.
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
& (Bitwise AND)는 양쪽 모두 1인 값을 가지고 있어야만 1의 값을 반환합니다.
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
^ (Bitwise Excluisive OR)는 두 개의 변수가 서로 다른 값을 가지고 있는 경우에만 1의 값을 반환합니다.
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
1. Control of Flows
Control of Flows는 말 그대로 SQL 문장들이 실행되는 흐름을 제어하는 언어를 말합니다. Control of Flows는 다음
의 키워드들로 구성되어있습니다.
IF~ELSE |
조건의 결과에 따라서 흐름을 결정하는 문장 |
BEGIN ~ END |
SQL문장의 블록을 설정 |
WHILE |
조건이 TRUE 인 경우에만 그 아래의 코드블럭을 반복적으로 수행 |
BREAK |
WHILE문의 블록을 벗어나는 문장 |
CONTINUE |
WHILE문의 블록을 재시작 |
DECLARE |
변수 또는 CURSOR의 선언 |
RETURN |
Procedure를 벗어남 |
WAITFOR |
SQL문장의 실행을 명시한 시간까지 지연하는 문장 |
|
메시지를 반환문장 |
RAISEERROR |
에러와 에러메시지를 반환문장 |
CASE |
조건에 맞는 값을 반환하는 문장 |
GOTO |
지정된 레이블로 이동하는 문장 |
IF ~ ELSE의 예제
BEGIN ~ END 예제 구문
IF 다음 줄에 여러 줄의 문장을 수행하기 위해서는 BEGIN ~ END로 묶어주어야 합니다.
WHILE문의 예제
DECLARE의 사용
DECLARE문은 변수를 선언하거나 CURSOR를 선언할 때 사용합니다.
위의 지역변수는 임대정보로부터 가장 큰 금액을 지역변수에 넣은 다음 출력하는 예입니다.
WAITFOR의 사용 예
WAITFOR구문 다음에 DELAY구문이 오게 되면 지정된 시간만큼 대기를 했다가 해당 시간이 흐르고 난 다음 그 다음 라인의 문장을 수행하게 됩니다.
TIME이 오는 경우에는 TIME 다음에 기술된 시간까지 대기한 다음에 해당 시간이 되면 그 다음 라인의 SQL구문을 수행하게 됩니다.
'RDBMS(mysql,mssql)' 카테고리의 다른 글
[MSSQL] 6.Table (0) | 2018.08.01 |
---|---|
[MSSQL] 5.Database 구성요소 (0) | 2018.07.30 |
[MSSQL] 3.SQL Server (0) | 2018.07.28 |
[MSSQL] 2.Data Modeling (0) | 2018.07.27 |
[MSSQL] 1.Database System (0) | 2018.07.27 |