Skip Navigation Links
Home
Articles
SQL Server 2012
SQL Server 2014
SQL Server 2016
FAQ
Forums
Practice Test
Bookstore
Tip of the Day : Similarities and Differences Between NEWID and NEWSEQUENTIALID System Functions
SQL Server Helper
Home > > Tip of the Day
SQL Server Helper - Tip of the Day

System functions are functions that perform operations on and return information about values, objects, and settings in SQL Server.  Two of these system functions are the NEWID and the NEWSEQUENTIALID functions.  The NEWID() system function creates a unique value of type UNIQUEIDENTIFIER. On the other hand, the NEWSEQUENTIALID() system function creates a GUID that is greater than any GUID previously generated by this function on a specified computer since Windows was started.

The following article shows the similarities and differences between the NEWID function and the NEWSEQUENTIALID function.

Similarities

  • Both system functions do not accept parameters and both return a value of UNIQUEIDENTIFIER type.
  • Both system functions are nondeterministic, meaning they may return different results each time they are called.
  • Both system functions can be used with the DEFAULT constraint on table columns of type UNIQUEIDENTIFIER.
  • The GUID generated by both system functions is unique on that computer.

Differences

NEWID

NEWSEQUENTIALID

The use of the NEWID system function is not limited to the DEFAULT constraint. It can be assigned to local variables or inserted as a column value.

Can only be used with the DEFAULT constraints on table columns of type UNIQUEIDENTIFIER

Can be referenced in queries.

Cannot be referenced in queries.

GUID generated is totally random and sequence cannot be determined.

GUID created is always greater than any GUID previously generated by this function on a specified computer since Windows was started.

When used in DEFAULT expressions, it can be combined with other scalar operators such as passing it as a parameter to a scalar function.

When used in DEFAULT expressions, it cannot be combined with other scalar operators such as passing it as a parameter to a scalar function.

Back to Tip of the Day List Next Tip