uniqueidentifier(Transact-SQL)uniqueidentifier (Transact-SQL)

적용 대상: 예SQL Server 예Azure SQL Database 예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

16바이트 GUID입니다.Is a 16-byte GUID.


uniqueidentifier 데이터 형식의 열이나 지역 변수는 다음 방법에 따라 값으로 초기화됩니다.A column or local variable of uniqueidentifier data type can be initialized to a value in the following ways:

  • NEWID 또는 NEWSEQUENTIALID 함수를 사용합니다.By using the NEWID or NEWSEQUENTIALID functions.
  • 문자열 상수에서 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 형식으로 변환합니다. 여기서 x는 0-9 또는 a-f 범위의 16진수입니다.By converting from a string constant in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, in which each x is a hexadecimal digit in the range 0-9 or a-f. 예를 들어 6F9619FF-8B86-D011-B42D-00C04FC964FF는 유효한 uniqueidentifier 값입니다.For example, 6F9619FF-8B86-D011-B42D-00C04FC964FF is a valid uniqueidentifier value.

비교 연산자는 uniqueidentifier 값으로 사용할 수 있습니다.Comparison operators can be used with uniqueidentifier values. 그러나 순서는 두 값의 비트 패턴을 비교하여 구현되지 않습니다.However, ordering is not implemented by comparing the bit patterns of the two values. uniqueidentifier 값에 대해서는 비교(=, <>, <, >, <=, >=) 및 NULL에 대한 확인(IS NULL 및 IS NOT NULL) 연산만 수행할 수 있습니다.The only operations that can be performed against a uniqueidentifier value are comparisons (=, <>, <, >, <=, >=) and checking for NULL (IS NULL and IS NOT NULL). 다른 산술 연산자는 사용할 수 없습니다.No other arithmetic operators can be used. IDENTITY를 제외한 모든 열 제약 조건과 속성은 uniqueidentifier 데이터 형식에서 사용할 수 있습니다.All column constraints and properties, except IDENTITY, can be used on the uniqueidentifier data type.

구독이 업데이트되는 병합 복제 및 트랜잭션 복제에서는 uniqueidentifier 열을 사용하여 테이블의 여러 복사본에서 행을 고유하게 식별할 수 있습니다.Merge replication and transactional replication with updating subscriptions use uniqueidentifier columns to guarantee that rows are uniquely identified across multiple copies of the table.

uniqueidentifier 데이터 변환Converting uniqueidentifier Data

uniqueidentifier 형식은 문자 식에서 변환하기 위한 문자 형식으로 간주되므로, 문자 형식으로 변환하기 위한 잘림 규칙이 있습니다.The uniqueidentifier type is considered a character type for the purposes of conversion from a character expression, and therefore is subject to the truncation rules for converting to a character type. 즉, 문자 식이 다른 크기의 문자 데이터 형식으로 변환되면 새 데이터 형식에 대해 너무 긴 값은 잘립니다.That is, when character expressions are converted to a character data type of a different size, values that are too long for the new data type are truncated. "예" 섹션을 참조하세요.See the Examples section.

제한 사항Limitations and restrictions

다음 도구 및 기능은 uniqueidentifier 데이터 형식을 지원하지 않습니다.These tools and features do not support the uniqueidentifier data type:


다음 예는 uniqueidentifier 값을 char 데이터 형식으로 변환합니다.The following example converts a uniqueidentifier value to a char data type.

DECLARE @myid uniqueidentifier = NEWID();  
SELECT CONVERT(char(255), @myid) AS 'char';  

다음 예는 변환될 데이터 형식에서 해당 값이 너무 길면 데이터가 잘림을 보여 줍니다.The following example demonstrates the truncation of data when the value is too long for the data type being converted to. uniqueidentifier 형식은 36자로 제한되므로 길이가 초과된 글자는 잘립니다.Because the uniqueidentifier type is limited to 36 characters, the characters that exceed that length are truncated.

DECLARE @ID nvarchar(max) = N'0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong';  
SELECT @ID, CONVERT(uniqueidentifier, @ID) AS TruncatedValue;  

결과 집합은 다음과 같습니다.Here is the result set.

String                                       TruncatedValue  
-------------------------------------------- ------------------------------------  
0E984725-C51C-4BF4-9960-E1C80E27ABA0wrong    0E984725-C51C-4BF4-9960-E1C80E27ABA0  
(1 row(s) affected)  

관련 항목:See also

데이터 형식(Transact-SQL)Data Types (Transact-SQL)
DECLARE @local_variable&#40;Transact-SQL&#41;DECLARE @local_variable (Transact-SQL)
NEWID(Transact-SQL)NEWID (Transact-SQL)
SET @local_variable&#40;Transact-SQL&#41;SET @local_variable (Transact-SQL)
Updatable Subscriptions for Transactional ReplicationUpdatable Subscriptions for Transactional Replication