연산자가 데이터 형식이 다른 두 식을 결합할 경우 우선순위가 낮은 데이터 형식이
우선순위가 높은 데이터 형식으로 변환됩니다.
모든 경우에 대해 변환이 이루어지는 것은 아니고,
변환이 지원되는 암시적 변환이 아닌 경우에는 오류가 발생합니다.
● 암시적 변환 (Implicit Conversions)
(예제1)
-- EmpNo 컬럼은 NVARCHAR 데이터 형식
SELECT T.LoginID, T.JobTitle
FROM Table2 AS T
WHERE T.EmpNo = 00550001 ;
SELECT T.LoginID, T.JobTitle
FROM Table2 AS T
WHERE T.EmpNo = '00550001' ;
(예제2)
-- D_ID 컬럼은 decimal 데이터 형식
-- A_Key 컬럼은 nvarchar 데이터 형식
SELECT T1.EmpNo, T1.JobTitle
FROM Table1 AS T1
INNER JOIN Table2 AS T2 ON T1.D_ID = T2.A_Key
SELECT T1.EmpNo, T1.JobTitle
FROM Table1 AS T1
INNER JOIN Table2 AS T2 ON CAST(T1.D_ID AS NVARCHAR(10)) = T2.A_Key
SQL Server 에서 데이터 형식은 아래와 같이 우선 순위를 사용합니다.
1. 사용자 정의 데이터 형식
2. sql_variant
3. xml
4. datetimeoffset
5. datetime2
6. datetime
7. smalldatetime
8. date
9. time
10. float
11. real
12. decimal
13. money
14. smallmoney
15. bigint
16. int
17. smallint
18. tinyint
19. bit
20. ntext
21. text
22. image
23. timestamp
24. uniqueidentifier
25. nvarchar (nvarchar(max) 포함)
26. nchar
27. varchar (varchar(max) 포함)
28. char
29. varbinary (varbinary(max) 포함)
30. binary
'IT 개발' 카테고리의 다른 글
MSSQL 함수- STRING_AGG (1) | 2024.12.08 |
---|---|
MSSQL 함수 - CHARINDEX (0) | 2024.12.05 |
MSSQL - 파티션 테이블 활용 (0) | 2024.12.03 |
MSSQL - 파티션 테이블 생성 (0) | 2024.11.30 |
MSSQL 속도 개선 - SARGable 연산자 사용 (0) | 2024.11.26 |