featur

[MSSQL] NEWID() 본문

개발/MSSQL

[MSSQL] NEWID()

featur 2016. 12. 15. 18:06

 [MSSQL] NEWID()

 

 

자주쓰는 NEWID()

랜덤 정렬 ORDER BY NEWID()

 

랜덤 숫자만 추출 CHECKSUM(NEWID())

 

랜덤 숫자 정수만  ABS(CHECKSUM(NEWID()))

 

랜덤 기호 제거 10자   LEFT(REPLACE(NEWID(),'-',''),10)

 

1. 변수가 있는 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에서 반환된 값은 컴퓨터마다 다릅니다. 설명을 돕기 위해 이 숫자가 표시됩니다.

 

 

 

 

2. CREATE TABLE 문에서 NEWID 사용

적용 대상: SQL Server

 

다음 예제에서는 cust 테이블에 uniqueidentifier 데이터 유형 및 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  
(CustomerID, Company, ContactName, Address, City, StateProvince,   
 PostalCode, CountryRegion, Telephone, Fax)  
VALUES  
 (NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,  
 '90110', 'Finland', '981-443655', '981-443655')  
,(NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',  
 '08737-363', 'Brasil', '(14) 555-8122', '')  
,(NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,   
 '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')  
,(NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,  
 '8010', 'Austria', '7675-3425', '7675-3426')  
,(NEWID(), 'Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,  
 'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68');  
GO  

 

 

3. uniqueidentifier 및 변수 할당 사용

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

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

 

 

 

 

 

 

'개발 > MSSQL' 카테고리의 다른 글

[MSSQL] 날짜 형식의 종류  (0) 2016.12.16
[MSSQL] 자주쓰는 함수  (0) 2016.12.15
[MSSQL] 테이블 리스트, 테이블 스키마 정보  (0) 2016.12.14
[MSSQL] 동적쿼리 와 테이블 변수  (0) 2016.12.14
[MSSQL] 커서 CURSOR  (0) 2016.12.13

Comments