newid

Description

Generates human-readable, globally unique IDs (GUIDs) in two different formats, based on arguments you provide. The length of the human-readable format of the GUID value is either 32 bytes (with no dashes) or 36 bytes (with dashes).

Syntax

newid([optionflag])

Parameters

option flag

Examples

Example 1

Creates a table with varchar columns 32 bytes long and then uses newid with no arguments with the insert statement.

create table t (UUID varchar(32))
go
insert into t values (newid())
insert into t values (newid())
go
select * from t
UUID
--------------------------------
f81d4fae7dec11d0a76500a0c91e6bf6 
7cd5b7769df75cefe040800208254639

Example 2

Produces a GUID that includes dashes.

select newid(1)
go
------------------------------------
b59462af-a55b-469d-a79f-1d6c3c1e19e3

Example 3

Creates a default that converts the GUID format without dashes to a varbinary(16) column:

create table t (UUID_VC varchar(32), UUID varbinary(16))
go
create default default_guid
as
strtobin(newid())
go
sp_bindefault default_guid, "t.UUID"
go
insert t (UUID_VC) values (newid())
go

Usage

Standards

ANSI SQL – Compliance level: Transact-SQL extension.

Permissions

Any user can execute newid.