Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / database / SQL-Server

Data Type Synonyms

4.58/5 (10 votes)
14 Mar 2010CPOL2 min read 1  
Introduction...

Introduction


This article basically illustrates the concept of Data type synonyms which are included in SQL Server 2005 for SQL-92 compatibility.

What are Data Type Synonyms?


Data type synonyms can be used instead of the corresponding base data type name in data definition language (DDL) statements, such as CREATE TABLE, CREATE PROCEDURE, or DECLARE @variable. However, after the object is created, the synonyms have no visibility. When the object is created, the object is assigned the base data type that is associated with the synonym. There is no record that the synonym was specified in the statement that created the object.

All objects that are derived from the original object, such as result set columns or expressions, are assigned the base data type. All subsequent metadata functions performed on the original object and any derived objects will report the base data type, not the synonym. This behavior occurs with metadata operations, such as sp_help and other system stored procedures, the information schema views, or the various data access API metadata operations that report the data types of table or result set columns.

List of Data Type Synonyms  



Synonym SQL Server system data type
Binary varying varbinary
char varying varchar
characterchar
characterchar(1)
character(n)char(n)
character varying(n)varchar(n)
Decdecimal
Double precisionfloat
float[(n)] for n = 1-7real
float[(n)] for n = 8-15float
integerint
national character( n )nchar(n)
national char( n )nchar(n)
national character varying( n )nvarchar(n)
national char varying( n )nvarchar(n)
national textntext
rowversiontimestamp


How to use Data Type Synonyms 


For example, you can create a table by specifying Data Type Synonyms:

SQL
CREATE TABLE Student(
ID integer PRIMARY KEY,
FirstName character varying(20),
LastName national character varying(20),
Marks Double precision)


FirstName is actually assigned an varchar(20) data type, and all subsequent metadata functions will report the column as an varchar(20) column. The metadata functions will never report them as a character varying(20) column.
Similarly, LastName is an nvarchar(20) data type column and Makes is a float column.

Conclusion


This is an introduction to the Data Type Synonyms in SQL Server. The idea is to get familiar with another way of writing DDL queries using Data Type Synonyms.

Reference


MSDN

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)