반응형
MSSQL에서 제공하는 고유값 생성 함수이다.
uniqueidentifier 형식의 고유한 값을 생성하는 함수라고 한다.
SELECT NEWID( ); 실행하면 현재 날짜및 실시간 등등의 데이터를 바탕으로 NEWID 함수에서 중복되지 않는 고유한 값이 생성된다고 한다. 해당 함수를 실행할때마다 독립적인 값을 만들어 내기 때문에 랜덤으로 ORDER BY 하거나
특정 텍스트를 인코딩하는 방식 대신 아이디값의 생성이 필요할때 대신 쓰거나 하면 될것 같다.
예를 들어 랜덤방식의 추첨을 통해 100명을 뽑는 형식의 쿼리가 필요할 경우(무작위 Sort) 혹은 무작위 방식으로 정렬하고 싶을때 사용한다거나,
파일명을 암호화해야하는 경우가 생길 때 BASE7등의 인코딩 방식으로 설정하는 대신에 파일 id값으로 NEWID()에서 반환된 값을 저장하고 물리적 파일명을 설정 할 수도 있을것이다.
그런데 속도는 좀 느리다.
NEWID() MSSQL내장함수
반환형식: uniqueidentifier
SELECT NEWID( ) as id 실행결과:
NEWID 내장함수로 반환된 값이 너무 길다면 LEFT혹은 RIGHT등의 함수로 해당 결과값을 절삭하여 사용할 수도 있다.
SELECT LEFT(NEWID( ),8) as id 실행결과:
반응형
'IT > DB' 카테고리의 다른 글
MSSQL에서 Mysql 로 마이그레이션 (0) | 2020.08.13 |
---|---|
MSSQL 시간 차이 구하기 (0) | 2020.08.12 |
MSSQL 특정 테이블 있는 프로시저 검색 (0) | 2020.04.02 |
Oracle DB버전 확인 쿼리 (0) | 2020.03.27 |
MSSQL PK값 자동증가 시키는 방법 (0) | 2020.03.26 |