uniqueidentifier(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
16바이트 GUID입니다.
설명
uniqueidentifier 데이터 형식의 열 또는 지역 변수를 다음과 같은 방법으로 값으로 초기화할 수 있습니다.
- NEWID 또는 NEWSEQUENTIALID 함수를 사용합니다.
- 문자열 상수에서 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 형식으로 변환합니다. 여기서 x는 0-9 또는 a-f 범위의 16진수입니다. 예를 들어 6F9619FF-8B86-D011-B42D-00C04FC964FF는 유효한 uniqueidentifier 값입니다.
비교 연산자는 uniqueidentifier 값으로 사용할 수 있습니다. 그러나 두 값의 비트 패턴을 비교하면 정렬이 구현되지 않습니다. uniqueidentifier 값에 대해서는 비교(=, <>, <, >, <=, >=) 및 NULL에 대한 확인(IS NULL 및 IS NOT NULL) 연산만 수행할 수 있습니다. 다른 산술 연산자는 사용할 수 없습니다. IDENTITY를 제외한 모든 열 제약 조건과 속성은 uniqueidentifier 데이터 형식에서 사용할 수 있습니다.
업데이트 구독을 사용한 병합 복제 및 트랜잭션 복제는 uniqueidentifier 열을 사용하여 테이블의 여러 복사본에서 행이 고유하게 식별되도록 보장합니다.
uniqueidentifier 데이터 변환
uniqueidentifier 형식은 문자 식에서 변환하기 위한 문자 형식으로 간주되므로 문자 형식으로 변환하기 위한 잘림 규칙이 적용됩니다. 즉, 문자 식이 다른 크기의 문자 데이터 형식으로 변환되는 경우 새 데이터 형식에 비해 너무 긴 값이 잘립니다. 예 섹션을 참조하세요.
제한 사항
다음 도구 및 기능은 uniqueidentifier
데이터 형식을 지원하지 않습니다.
- PolyBase
- 병렬 데이터 웨어하우스용 dwloader 로딩 도구
예제
다음 예는 uniqueidentifier
값을 char
데이터 형식으로 변환합니다.
DECLARE @myid uniqueidentifier = NEWID();
SELECT CONVERT(CHAR(255), @myid) AS 'char';
다음 예는 변환될 데이터 형식에서 해당 값이 너무 길면 데이터가 잘림을 보여 줍니다. uniqueidentifier 형식은 36자로 제한되므로 길이가 초과된 글자는 잘립니다.
DECLARE @ID NVARCHAR(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;
결과 집합은 다음과 같습니다.
String TruncatedValue
-------------------------------------------- ------------------------------------
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong 0E984725-C51C-4BF4-9960-E1C80E27ABA0
(1 row(s) affected)
참고 항목
ALTER TABLE(Transact-SQL)
CAST 및 CONVERT(Transact-SQL)
CREATE TABLE(Transact-SQL)
데이터 형식(Transact-SQL)
DECLARE @local_variable (Transact-SQL)
NEWID(Transact-SQL)
NEWSEQUENTIALID(Transact-SQL)
SET @local_variable (Transact-SQL)
트랜잭션 복제를 위한 업데이트 가능 구독