NEWID function [Miscellaneous]

Generates a UUID (Universally Unique Identifier) value. A UUID is the same as a GUID (Globally Unique Identifier).

Syntax
NEWID( ) 
Parameters

There are no parameters associated with the NEWID function.

Returns

UNIQUEIDENTIFIER

Remarks

The NEWID function can be used in a DEFAULT clause for a column.

UUIDs can be used to uniquely identify rows in a table. A value produced on one computer does not match a value produced on another computer, so they can be used as keys in synchronization and replication environments.

UUIDs contain hyphens for compatibility with other RDBMSs.

The NEWID function is non-deterministic; successive calls may return different values. The query optimizer does not cache the results of the NEWID function.

For more information about non-deterministic functions, see Function caching.

See also
Standards and compatibility
  • SQL/2003   Vendor extension.

Example

The following statement creates a table named mytab with two columns. Column pk has a unique identifier data type, and assigns the NEWID function as the default value. Column c1 has an integer data type.

CREATE TABLE mytab( 
   pk UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID(), 
   c1 INT );

The following statement returns a unique identifier as a string:

SELECT NEWID();

For example, the value returned might be 96603324-6FF6-49DE-BF7D-F44C1C7E6856.