Compartir a través de


Tipos de datos (motor de base de datos)

Los objetos que contienen datos tienen asociado un tipo de datos que define la clase de datos, por ejemplo, carácter, entero o binario, que puede contener el objeto. Los siguientes objetos tienen tipos de datos:

  • Columnas de tablas y vistas.
  • Parámetros de procedimientos almacenados.
  • Variables.
  • Funciones de Transact-SQL que devuelven uno o más valores de datos de un tipo de datos específico.
  • Procedimientos almacenados que devuelven un código, que siempre es de tipo integer.

Al asignar un tipo de datos a un objeto se definen cuatro atributos del objeto:

  • El tipo de datos que contiene el objeto.
  • La longitud o tamaño del valor almacenado.
  • La precisión del número (sólo tipos de datos numéricos).
  • La escala del número (sólo tipos de datos numéricos).

Para obtener más información sobre la precisión del tipo de datos, la escala y la longitud, vea Precisión, escala y longitud (Transact-SQL).

Transact-SQL tiene estos tipos de datos de sistema.

bigint

binary

bit

char

cursor

datetime

decimal

float

image

int

money

nchar

ntext

numeric

nvarchar

real

smalldatetime

smallint

smallmoney

sql_variant

table

text

timestamp

tinyint

varbinary

varchar

uniqueidentifier

xml

 

 

Todos los datos almacenados en Microsoft SQL Server 2005 deben ser compatibles con uno de estos tipos de datos básicos. El tipo de datos cursor es el único tipo de datos de sistema que no se puede asignar a una columna de una tabla. Sólo se puede utilizar con variables y parámetros de procedimientos almacenados.

Varios tipos de datos básicos tienen sinónimos (por ejemplo rowversion es un sinónimo de timestamp y national character varying es un sinónimo de nvarchar). Para obtener más información sobre el comportamiento de los sinónimos, vea Sinónimos de tipos de datos (Transact-SQL).

También pueden crearse dos tipos de datos definidos por el usuario:

  • Los tipos de datos de alias se crean a partir de tipos de datos básicos. Proporcionan un mecanismo para aplicar un nombre a un tipo de datos que sea más descriptivo que los tipos de valores que va a contener el objeto. Esto puede facilitar al administrador de la base de datos o al programador entender el uso que se piensa de cualquier objeto que se defina con el tipo de datos. Por ejemplo:

    -- Create a birthday datetype that allows nulls.
    CREATE TYPE birthday
    FROM datetime NULL
    GO
    -- Create a table using the new data type.
    CREATE TABLE employee (emp_id char(5), emp_first_name char(30), emp_last_name char(40), emp_birthday birthday)
    

    Para obtener más información, vea Trabajar con tipos de datos de alias.

  • Los tipos de datos definidos por el usuario CLR se basan en tipos de datos creados en código administrado y cargados en un ensamblado de SQL Server. Para obtener más información, vea Trabajar con tipos definidos por el usuario para CLR.

Vea también

Conceptos

Usar datos binarios
Usar datos char y varchar
Usar datos de fecha y hora
Usar datos enteros
Usar datos decimal, float y real
Usar datos monetarios
Usar tipos de datos de valores grandes
Usar datos text e image
Usar datos uniqueidentifier
Usar datos especiales
Usar datos Unicode
Conversiones de tipos de datos (motor de base de datos)

Otros recursos

CREATE TABLE (Transact-SQL)
CREATE TYPE (Transact-SQL)
Tipos de datos (Transact-SQL)
Diseñar tablas
sp_addtype (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005