NEWID(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL 분석 엔드포인트

uniqueidentifier 형식의 고유한 값을 만듭니다.

Transact-SQL 구문 표기 규칙

Syntax

NEWID ( )  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

참고 항목

Azure Synapse 서버리스 풀에서는 지원되지 않습니다.

반환 형식

uniqueidentifier

설명

NEWID()는 RFC4122와 호환됩니다.

예제

A. 변수가 있는 NEWID 함수 사용

다음 예에서는 NEWID()를 사용하여 uniqueidentifier 데이터 형식으로 선언된 변수에 값을 할당합니다. 값이 테스트되기 전에 uniqueidentifier 데이터 형식 변수의 값이 인쇄됩니다.

-- Creating a local variable with DECLARE/SET syntax.  
DECLARE @myid uniqueidentifier  
SET @myid = NEWID()  
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)  

결과 집합은 다음과 같습니다.

Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF  

참고

NEWID에서 반환된 값은 컴퓨터마다 다릅니다. 설명을 돕기 위해 이 숫자가 표시됩니다.

B. CREATE TABLE 문에서 NEWID 사용

적용 대상: SQL Server

다음 예에서는 uniqueidentifier 데이터 형식을 사용하여 cust 테이블을 만들고, NEWID를 사용하여 테이블을 기본값으로 채웁니다. NEWID()의 기본값을 할당할 때 새 행과 기존 행마다 CustomerID 열에 고유 값이 있습니다.

-- Creating a table using NEWID for uniqueidentifier data type.  
CREATE TABLE cust  
(  
 CustomerID uniqueidentifier NOT NULL  
   DEFAULT newid(),  
 Company VARCHAR(30) NOT NULL,  
 ContactName VARCHAR(60) NOT NULL,   
 Address VARCHAR(30) NOT NULL,   
 City VARCHAR(30) NOT NULL,  
 StateProvince VARCHAR(10) NULL,  
 PostalCode VARCHAR(10) NOT NULL,   
 CountryRegion VARCHAR(20) NOT NULL,   
 Telephone VARCHAR(15) NOT NULL,  
 Fax VARCHAR(15) NULL  
);  
GO  
-- Inserting 5 rows into cust table.  
INSERT cust  
(Company, ContactName, Address, City, StateProvince,   
 PostalCode, CountryRegion, Telephone, Fax)  
VALUES  
 ('Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,  
 '90110', 'Finland', '981-443655', '981-443655')  
,('Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',  
 '08737-363', 'Brasil', '(14) 555-8122', '')  
,('Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,   
 '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')  
,('Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,  
 '8010', 'Austria', '7675-3425', '7675-3426')  
,('Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,  
 'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68');  
GO

C. uniqueidentifier 및 변수 할당 사용

다음 예에서는 @myid라는 로컬 변수를 uniqeidentifier 데이터 형식의 변수로 선언합니다. 그런 다음 SET 문을 사용하여 변수에 값을 할당합니다.

DECLARE @myid uniqueidentifier ;  
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12';  
SELECT @myid;  
GO  

D. NEWID() 함수를 사용하여 임의 데이터 쿼리

다음 예제에서는 NEWID() 함수를 사용하여 Production.Product 테이블에서 임의 레코드를 쿼리합니다. 더 많은 레코드를 radomly 쿼리하려면 TOP 값을 늘입니다.

SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO

참고 항목

NEWSEQUENTIALID(Transact-SQL)
ALTER TABLE(Transact-SQL)
CAST 및 CONVERT(Transact-SQL)
CREATE TABLE(Transact-SQL)
데이터 형식(Transact-SQL)
시스템 함수(Transact-SQL)
uniqueidentifier(Transact-SQL)
시퀀스 번호