SlideShare une entreprise Scribd logo
1  sur  13
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO
PRIVADO BENJAMÍN FRANKLIN
SQL SERVER 2008
NOMBRE:
ELIZABETH HUARAYA APAZA
TRABAJO:
TIPOS DE DATOS DE SQL SERVER 2008
MATERIA:
BASE DE DATOS
PROFESOR:
FRANKLIN CCAPA
CARRERA:
COMPUTO E INFORMÁTICA
SEMESTRE:
“V”
2013
SQL SERVER 2008
CATEGORÍA TIPO DE DATO
Binary
Binary
Varbinary
Image
Character
Char
Varchar
Text
Date time
Datetime
Smalldatetime
Decimal
Decimal
Numeric
Floatingpoint
Float
Real
Integer
Bigint
Int
Smallint
Tinyint
Monetary
Money
Smallmoney
Special
Bit
Cursor
Timestamp
Uniqueidentifier
SQL_variant
Table
Unicode
Nchar
Nvarchar
Ntext
TIPO DE DATOS
 SQL_VARIANT:
Tipo de datos que almacena valores de varios tipos de datos admitidos en SQL Server.
sql_variant
Sql_variant puede utilizarse en columnas, parámetros, variables y valores devueltos de
funciones definidas por el usuario. Sql_variant permite que estos objetos de base de
datos admitan valores de otros tipos de datos.
 Una columna de tipo sql_variant puede contener filas de tipos de datos
diferentes, puede almacenar valores int, binary y char.
Los tipos de valores que no se pueden almacenar mediante sql_variant son:
VALORES NO ALMACENADOS
varchar(max) varbinary(max)
nvarchar(max) Xml
Text Ntext
Image Timestamp
sql_variant Geography
Hierarchyid Geometry
 Sql_variant puede tener una longitud máxima de 8.016 bytes. Esto incluye la
información y el valor de tipo base. La longitud máxima del tipo base real es
8.000 bytes.
El tipo de datos sql_variant pertenece a la parte superior de la lista de jerarquías de
tipos de datos para conversión. En las comparaciones de sql_variant, el orden de la
jerarquía del tipo de datos SQL Server se agrupa en familias de tipos de datos.
JERARQUÍA DE
TIPO DE DATOS
FAMILIA DE TIPO
DE DATOS
sql_variant sql_variant
datetime2 fecha y hora
Datetimeoffset Fecha y hora
Datetime fecha y hora
Smalldatetime fecha y hora
Date fecha y hora
Time fecha y hora
Float
Valores numéricos
aproximados
Real
Valores numéricos
aproximados
Decimal Valor numérico exacto
Money Valor numérico exacto
Smallmoney Valor numérico exacto
Bigint Valor numérico exacto
Int Valor numérico exacto
Smallint Valor numérico exacto
Tinyint Valor numérico exacto
Bit Valor numérico exacto
Nvarchar Unicode
Nchar Unicode
Varchar Unicode
Char Unicode
Varbinary Binario
Binary Binario
Uniqueidentifier Uniqueidentifier
 INT, BIGINT, SMALLINT Y TINYINT
Son tipos de datos numéricos exactos que utilizan datos enteros.
TIPO DE
DATOS
INTERVALO
ALMACENAMI
ENTO
Bigint
De -2^63 (-9.223.372.036.854.775.808) a 2^63-1
(9.223.372.036.854.775.807)
8 bytes
Int
De -2^31 (-2.147.483.648) a 2^31-1
(2.147.483.647)
4 bytes
Smallint De -2^15 (-32.768) a 2^15-1 (32.767) 2 bytes
Tinyint De 0 a 255 1 byte
 INT: Es el principal tipo de datos de valores enteros de SQL Server.
 BIGINT: Esta se usa cuando los valores enteros pueden exceder el intervalo
admitido por el tipo de dato INT.
 CURSO:
Un tipo de datos para las variables o para los parámetros de resultado de los
procedimientos almacenados que contiene una referencia a un cursor. Las variables
creadas con el tipo de datos cursor aceptan NULL.
Las operaciones a las que pueden hacer referencia las variables y parámetros que
tienen un tipo de datos cursor son:
 Las instrucciones DECLARE @local_variable y SET @local_variable.
 Las instrucciones del cursor OPEN, FETCH, CLOSE y DEALLOCATE.
 Los parámetros de resultado de procedimientos almacenados.
 La función CURSOR_STATUS.
 Los procedimientos almacenados del sistema sp_cursor_list, sp_describe_cursor,
sp_describe_cursor_tables y sp_describe_cursor_columns.
 DECIMAL Y NUMERIC
Tipos de datos numéricos que tienen precisión y escala fijas.
DECIMAL [ (p[ ,s] )]y NUMERIC [ (p[ ,s] )]
P = (precisión)
S = (escala)
Cuando se utiliza la precisión máxima, los valores válidos se sitúan entre - 10^38 +1 y
10^38 - 1. Los sinónimos de ISO para decimal son de tipo dec y dec(p, s). numeric es
funcionalmente equivalente a decimal.
El número total máximo de dígitos decimales que se puede almacenar, tanto a la
izquierda como a la derecha del separador decimal, puede ser a:
 La precisión debe ser un valor comprendido entre 1 y la precisión máxima de 38.
La precisión predeterminada es 18.
 La escala debe ser un valor comprendido entre 0 y p. Sólo es posible especificar
la escala si se ha especificado la precisión. La escala predeterminada es 0; por
lo tanto, 0 <= s <= p. Los tamaños de almacenamiento máximo varían, según la
precisión.
PRECISIÓN BYTES DE ALMACENAMIENTO
1 - 9 5
10-19 9
20-28 13
29-38 17
 MONEY Y SMALLMONEY:
Tipos de datos que representan valores monetarios o de moneda.
TIPO DE
DATOS
INTERVALO ALMACENAMIENTO
Money
De -922,337,203,685.477,5808 a
922,337,203,685.477,5807
8 bytes
Smallmoney De - 214.748,3648 a 214.748,3647 4 bytes
Los tipos de datos money y smallmoney tienen una precisión de una diezmilésima de
las unidades monetarias que representan.
 FLOAT Y REAL
Tipos de datos numéricos y aproximados que se utilizan con datos numéricos de coma
flotante. Los datos de coma flotante son aproximados, no todos los valores del intervalo
del tipo de datos se pueden representar con exactitud.
TIPO DE
DATOS
INTERVALO ALMACENAMIENTO
Float
De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308
a 1,79E+308
Depende del valor de
n.
Real
De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38
a 3,40E + 38
4 Bytes
 FLOAT[ (n) ] :Donde n es el número de bits que se utilizan para almacenar la
mantisa del número float en notación científica y dicta su precisión y el tamaño de
almacenamiento.Si se especifica n, debe ser un valor entre 1 y 53. El valor
predeterminado de n es 53.
NVALUE PRECISIÓN TAMAÑO DE ALMACENAMIENTO
1-24 7 dígitos 4 bytes
25-53 15 dígitos 8 bytes
 BINARY Y VARBINARY
Tipos de datos binarios de longitud fija o variable.
BINARY[ ( n ) ]
Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor que
oscila entre 1 y 8.000. El tamaño de almacenamiento es de n bytes.
VARBINARY[ ( n | max) ]
Datos binarios de longitud variable. n puede ser un valor que oscila entre 1 y 8.000. max
indica que el tamaño máximo de almacenamiento es de 2^31-1 bytes.El tamaño de
almacenamiento es la longitud real de los datos especificados + 2 bytes. Los datos
especificados pueden tener una longitud de 0 bytes.
Cuando no se especifica el argumento n con la función CAST, la longitud predeterminada
es 30.
 Utilice binary cuando los tamaños de las entradas de datos de columna sean
coherentes.
 Utilice varbinary cuando los tamaños de las entradas de datos de columna
varíen considerablemente.
 Utilice varbinary(max) cuando las entradas de datos de columna superen los
8.000 bytes.
 NCHAR Y NVARCHAR
Tipos de datos de caracteres, para datos Unicode de longitud fija, nchar, o variable,
nvarchar, y que utilizan el juego de caracteres UNICODE UCS-2.
NCHAR[ ( n ) ]
Datos de carácter Unicode de longitud fija, con n caracteres. n debe estar comprendido
entre 1 y 4.000. El tamaño de almacenamiento es dos veces n bytes.
NVARCHAR[ ( n | max ) ]
Datos de carácter Unicode de longitud variable. N puede ser un valor comprendido entre 1 y
4.000. max indica que el tamaño máximo de almacenamiento es 2^31-1 bytes. El tamaño
de almacenamiento en bytes es dos veces el número de caracteres especificado + 2 bytes.
Los datos especificados pueden tener una longitud de 0 caracteres.
 Cuando no se especifica el argumento n en la función CAST, la longitud
predeterminada es 30.
 Use ncharcuando sea probable que el tamaño de las entradas de datos de las
columnas sea similar.
 Use nvarcharcuando sea probable que el tamaño de las entradas de datos de las
columnas varíe.
 ROWVERSION:
Rowversion suele utilizarse como mecanismo para marcar la versión de las filas de la
tabla. El tamaño de almacenamiento es de 8 bytes. El tipo de datos rowversion es
simplemente un número que se incrementa y no conserva una fecha o una hora. Para
registrar una fecha o una hora se usa un tipo de datos datetime2.
 Cada base de datos tiene un contador que se incrementa por cada operación de
inserción o actualización que se lleva a cabo en una tabla que contiene una columna
rowversion en la base de datos.
 Timestamp es el sinónimo del tipo de datos rowversion y está sujeto al
comportamiento de los sinónimos de tipos de datos.
En una instrucción CREATETABLE o ALTER TABLE, no tiene que especificar ningún
nombre de columna para el tipo de datos timestamp.
Si no especifica un nombre de columna, el SQL Server Database Engine (Motor de base
de datos de SQL Server) genera el nombre de columna timestamp. Cuando utiliza
rowversion, debe especificar un nombre de columna.
 TABLE:
Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de
resultados para su procesamiento posterior. Table se utiliza principalmente para el
almacenamiento temporal de un conjunto de filas devuelto como el conjunto de
resultados de una función con valores de tabla.
 Para declarar variables de tipo table, utilice DECLARE @local_variable
TABLE_TYPE_DEFINITION
Es el mismo subconjunto de información que se utiliza para definir una tabla en
CREATETABLE. La declaración de tabla incluye definiciones de columna, nombres,
tipos de datos y restricciones. Sólo se permiten los tipos de restricciones PRIMARY
KEY, UNIQUE KEY y NULL.
COLLATION_DEFINITION
Si no se especifica collation_definition, la columna hereda la intercalación de la base
de datos actual. Si la columna se ha definido como un tipo definido por el usuario
CLR (CommonLanguageRuntime), la columna hereda la intercalación del tipo
definido por el usuario.
Las variables table ofrecen las siguientes ventajas:
 Una variable table se comporta como una variable local. Tiene un ámbito bien
definido. Dentro de su ámbito, la variable table se puede utilizar como una tabla
normal. Puede aplicarse en cualquier lugar de las instrucciones SELECT, INSERT,
UPDATE y DELETE donde se utilice una tabla o expresión de tabla.
 Las variables table se limpian automáticamente al final de la función, procedimiento
almacenado o lote en que están definidas.
 Las restricciones CHECK, los valores DEFAULT y las columnas calculadas de la
declaración del tipo table no pueden llamar a funciones definidas por el usuario.
 Las variables table que se utilizan en procedimientos almacenados dan lugar a
menos recompilaciones de los procedimientos almacenados que cuando se utilizan
tablas temporales.
 Las transacciones con variables table existen sólo mientras dura una actualización
en la variable table, que requieren menos recursos de registro y bloqueo.
 BIT:
Tipo de datos entero que puede aceptar los valores 1, 0 o NULL.
Motor de base de datos de SQL Server optimiza el almacenamiento de las columnas de
tipo bit. Si una tabla contiene 8 columnas o menos de tipo bit, éstas se almacenan como
1 byte. Si hay entre 9 y 16 columnas de tipo bit, se almacenan como 2 bytes, y así
sucesivamente.
 DATETIME
Define una fecha que se combina con una hora del día con fracciones de segundos
basada en un reloj de 24 horas.
PROPIEDAD VALOR
Sintaxis Datetime
Uso
DECLARE @MyDatetimedatetime
CREATE TABLE Table1 ( Column1 datetime )
Formatos de literal de cadena
predeterminados(se usan para el
cliente de nivel inferior)
No aplicable
Intervalo de fechas
Del 1 de enero de 1753 hasta el 31 de
diciembre de 9999
Intervalo de horas De 00:00:00 a 23:59:59.997
Intervalo de desplazamiento de zona
horaria
Ninguno
Intervalos de elementos
AAAA es una cifra de cuatro dígitos
comprendida entre 1753 y 9999 que
representa un año.
MM es una cifra de dos dígitos comprendida
entre 01 y 12 que representa un mes del año
especificado.
DD es una cifra de dos dígitos comprendida
entre 01 y 31 dependiendo del mes, que
representa un día del mes especificado.
hh es una cifra de dos dígitos comprendida
entre 00 y 23 que representa la hora.
mm es una cifra de dos dígitos comprendida
entre 00 y 59 que representa los minutos.
s es una cifra de dos dígitos comprendida
entre 00 y 59 que representa los segundos.
n* es una cifra de cero a tres dígitos
comprendida entre 0 y 999 que representa las
fracciones de segundos.
Longitud de los caracteres
19 posiciones como mínimo a 23 como
máximo
Tamaño de almacenamiento 8 bytes
Precisión
Se redondea en incrementos de 0,000, 0,003
o 0.007 segundos
Valor predeterminado 1900-01-01 00:00:00
Calendario
Gregoriano (no incluye el intervalo completo
de años.)
Precisión de fracciones de segundo
definida por el usuario
No
Conservación y reconocimiento del
desplazamiento de la zona horaria
No
Reconocimiento del horario de
verano
No
Formato de lineamiento compatible para datetime
NUMÉRICO DESCRIPCIÓN
FORMATOS DE
FECHA:
[0]4/15/[19]96 -- (mda)
Puede especificar datos de fecha con un mes en forma de
número. Por ejemplo, 5/20/97 representa el veinte de mayo
de 1997. Cuando use un formato numérico de fecha,
especifique el mes, el día y el año en una cadena con barras
[0]4-15-[19]96 -- (mda)
[0]4.15.[19]96 -- (mda)
[0]4/[19]96/15 -- (mad)
15/[0]4/[19]96 -- (dma)
15/[19]96/[0]4 -- (dam)
[19]96/15/[0]4 -- (adm)
[19]96/[0]4/15 -- (amd)
FORMATOS DE
HORA:
14:30
14:30[:20:999]
14:30[:20.9]
4am
4 PM
diagonales (/), guiones (-) o puntos (.) como separadores.
Esta cadena debe aparecer de la forma siguiente:
número separador número separador número [hora]
[hora]
Cuando el idioma establecido es us_english, el orden
predeterminado de la fecha es mdy (mes, día, año). Para
cambiar el orden de la fecha, utilice la instrucción SET
DATEFORMAT.
La configuración de SET DATEFORMAT determina cómo se
interpretan los valores de fecha. Si el orden no coincide con
esta configuración, los valores no se interpretarán como
fechas porque se encuentran fuera del intervalo, o bien se
interpretarán incorrectamente.
ALFABÉTICO DESCRIPCIÓN
Abr[il] [15][,] 1996
Abr[il] 15[,] [19]96
Abr[il] 1996 [15]
[15] Abr[il][,] 1996
15 Abr[il][,][19]96
15 [19]96 abr[il]
[15] 1996 abr[il]
1996 ABR[IL] [15]
1996 [15] ABR[IL]
Puede especificar los datos de la fecha con un mes
especificado como el nombre completo del mes.
Éstas son algunas directrices para utilizar los formatos
alfabéticos de fecha:
 Incluya los datos de fecha y hora entre comillas simples
('). Para los idiomas distintos de inglés, utilice N'
 Los caracteres que se incluyen entre corchetes son
opcionales.
 Si sólo especifica los dos últimos dígitos del año, los
valores inferiores a los dos últimos dígitos del valor de la
opción de configuración Fecha límite de año de dos
dígitos pertenecen al mismo siglo que el año límite. Los
valores mayores o iguales que el valor de esta opción
pertenecen al siglo anterior al año límite.
 Si falta el día, se usará el primer día del mes.
El parámetro de sesión SET DATEFORMAT no se aplica
cuando se especifica el mes de forma alfabética.
ISO 8601 Descripción
AAAA-MM-DDThh:mm:ss[.mmm]
AAAAMMDDThh:mm:ss[.mmm]
Para utilizar el formato ISO 8601, debe especificar
todos los elementos del formato. Esto también
incluye T, los dos puntos (:) y el punto (.) que se
muestran en el formato.
Los corchetes indican que el componente de
fracción de segundo es opcional. El componente
de hora se especifica en el formato de 24 horas.
La T indica el inicio de la parte de hora del valor
datetime.
La ventaja de utilizar el formato ISO 8601 es que
se trata de un estándar internacional con una
especificación que evita ambigüedades. Asimismo,
este formato no se ve afectado por los parámetros
SET DATEFORMAT o SET LANGUAGE.
ODBC DESCRIPCIÓN
{ ts '1998-05-02 01:23:56.123' }
{ d '1990-10-02' }
{ t '13:33:41' }
La API de ODBC define secuencias de escape para
representar valores de fecha y de hora que ODBC
llama datos de marca de tiempo. Las aplicaciones que
usan las API basadas en ODBC, OLE DB y ADO
pueden usar este formato de marca de tiempo de
ODBC para representar fechas y horas.
Las secuencias de escape de marca de hora de
ODBC tienen el formato: { literal_type 'constant_value'
}:
 literal_type especifica el tipo de la secuencia de
escape. Las marcas de hora tienen tres
especificadores literal_type:
o d = sólo fecha
o t = sólo hora
o ts = marca de hora (hora + fecha)
 'constant_value' es el valor de la secuencia de
escape. constant_value debe seguir estos
formatos para cada literal_type.
literal_typeformatoconstant_value
d aaaa-mm-dd
t hh:mm:ss[.fff]
tsaaaa-mm-ddhh:mm:ss[.fff]
Los valores datetime se redondean con incrementos de 0,000; 0,003 o 0,007 segundos,
como:
VALOR
ESPECIFICADO POR
EL USUARIO
VALOR ALMACENADO
POR EL SISTEMA
01/01/98 23:59:59.999 1998-01-02 00:00:00.000
01/01/98 23:59:59.995
01/01/98 23:59:59.996
01/01/98 23:59:59.997
01/01/98 23:59:59.998
1998-01-01 23:59:59.997
01/01/98 23:59:59.992
01/01/98 23:59:59.993
01/01/98 23:59:59.994
1998-01-01 23:59:59.993
01/01/98 23:59:59.990
01/01/98 23:59:59.991
1998-01-01 23:59:59.990
 HIERARCHYID
El tipo de datos del sistema de hierarchyid es de longitud variable. Use hierarchyid para
representar la posición en una jerarquía. Una columna de tipo hierarchyid no representa
automáticamente un árbol. Dependerá de la aplicación generar y asignar los valores
hierarchyid de tal forma que la relación deseada entre las filas se refleje en los valores.
Los valores de hierarchyid tienen las siguientes propiedades.
 MUY COMPACTOS
El número medio de bits necesarios para representar un nodo en un árbol con n
nodos depende del promedio de nodos secundarios. Para multiplicadores de salida
pequeños (0-7), el tamaño es aproximadamente 6*logAn bits, donde A es el
promedio de nodos secundarios. Un nodo en una jerarquía organizativa de 100.000
personas con un promedio de nodos secundarios de 6 niveles supone
aproximadamente 38 bits. Esto se redondea a 40 bits (o 5 bytes) para el
almacenamiento.
 LA COMPARACIÓN SE REALIZA CON PRIORIDAD A LA PROFUNDIDAD
Dados dos valores hierarchyid a y b, a<b que viene antes que b en un corte
transversal de prioridad a la profundidad del árbol. Los índices de los tipos de datos
hierarchyid están en orden con prioridad a la profundidad y los nodos cercanos entre
sí en un corte transversal de prioridad a la profundidad se almacenan casi uno junto
a otro.
 COMPATIBILIDAD CON INSERCIONES Y ELIMINACIONES ARBITRARIAS
Con el método GetDescendant siempre es posible generar un miembro del mismo
nivel a la derecha de cualquier nodo determinado, a la izquierda de cualquier nodo
determinado, o entre dos miembros cualesquiera del mismo nivel. Se mantiene la
propiedad comparison cuando se inserta o elimina un número arbitrario de nodos de
la jerarquía.
 La codificación usada en el tipo hierarchyid está limitada a 892 bytes. Por
consiguiente, el tipo hierarchyid no podrá representar los nodos con demasiados
niveles en su representación como para caber en los 892 bytes.
 NTEXT, TEXT E IMAGE:
Tipos de datos de longitud fija y variable para almacenar valores de gran tamaño con
datos de caracteres y binarios Unicode y no Unicode. Los datos Unicode utilizan el juego
de caracteres UNICODE UCS-2.
 NTEXT:
Datos Unicode de longitud variable con una longitud máxima de 2^30 - 1
(1.073.741.823) caracteres. El tamaño del almacenamiento, en bytes, es dos veces
el número de caracteres especificado.
 TEXT:
Datos no Unicode de longitud variable de la página de códigos del servidor y con una
longitud máxima de 2^31-1 (2.147.483.647) caracteres. Cuando la página de códigos
del servidor utiliza caracteres de doble byte, el almacenamiento sigue siendo de
2.147.483.647 bytes. Dependiendo de la cadena de caracteres, el espacio de
almacenamiento puede ser inferior a 2.147.483.647 bytes.
 IMAGE:
Datos binarios de longitud variable desde 0 hasta 2^31-1 (2.147.483.647) bytes.
Funciones e instrucciones que se pueden utilizar con datos de tipo text, ntext o imagen
son:
FUNCIONES INSTRUCCIONES
DATALENGTH (Transact-SQL) READTEXT (Transact-SQL)
PATINDEX (Transact-SQL) SET TEXTSIZE (Transact-SQL)
SUBSTRING (Transact-SQL) UPDATETEXT (Transact-SQL)
TEXTPTR (Transact-SQL) WRITETEXT (Transact-SQL)
TEXTVALID (Transact-SQL)

Contenu connexe

Tendances

Network programming 04- Exception dan Stream
Network programming 04- Exception dan StreamNetwork programming 04- Exception dan Stream
Network programming 04- Exception dan Stream
Lia Rusdyana Dewi
 
Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstracta
wilfredo pena
 
Pertemuan 6 alat input
Pertemuan 6 alat inputPertemuan 6 alat input
Pertemuan 6 alat input
France Rhezhek
 

Tendances (20)

Alfabetos teoria de_lenguajes_y_automatas
Alfabetos teoria de_lenguajes_y_automatasAlfabetos teoria de_lenguajes_y_automatas
Alfabetos teoria de_lenguajes_y_automatas
 
Presentasi motivas i belajar pemrograman
Presentasi motivas i belajar pemrogramanPresentasi motivas i belajar pemrograman
Presentasi motivas i belajar pemrograman
 
Atacantes y profesionales de la ciberseguridad
Atacantes y profesionales de la ciberseguridadAtacantes y profesionales de la ciberseguridad
Atacantes y profesionales de la ciberseguridad
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Aplikasi komputer
Aplikasi komputerAplikasi komputer
Aplikasi komputer
 
BD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y FísicoBD - Diseño Conceptual, Lógico y Físico
BD - Diseño Conceptual, Lógico y Físico
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Fathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur dataFathoni m bahan ajar_if2018_prak.struktur data
Fathoni m bahan ajar_if2018_prak.struktur data
 
Network programming 04- Exception dan Stream
Network programming 04- Exception dan StreamNetwork programming 04- Exception dan Stream
Network programming 04- Exception dan Stream
 
Autómatas y complejidad
Autómatas y complejidadAutómatas y complejidad
Autómatas y complejidad
 
Flex y Bison
Flex y BisonFlex y Bison
Flex y Bison
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
Maquina de pila abstracta
Maquina de pila abstractaMaquina de pila abstracta
Maquina de pila abstracta
 
Pertemuan 6 alat input
Pertemuan 6 alat inputPertemuan 6 alat input
Pertemuan 6 alat input
 
Pertemuan 11 input output
Pertemuan 11 input outputPertemuan 11 input output
Pertemuan 11 input output
 
E) representacion matricial
E) representacion matricialE) representacion matricial
E) representacion matricial
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Presentasi OS Linux
Presentasi OS LinuxPresentasi OS Linux
Presentasi OS Linux
 
DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS DISEÑO DE SALIDA DE SISTEMAS
DISEÑO DE SALIDA DE SISTEMAS
 
Operasi Dasar Komputer
Operasi Dasar KomputerOperasi Dasar Komputer
Operasi Dasar Komputer
 

En vedette

Tipos de datos en sql server
Tipos de datos en sql serverTipos de datos en sql server
Tipos de datos en sql server
Emanuel MCastillo
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
Ronald Huere Arias
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
Emily_Fdez
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
Alvaro Cardona
 
Componentes de sql server 2008
Componentes de sql server 2008Componentes de sql server 2008
Componentes de sql server 2008
Jillian Motoharu
 
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
Software Guru
 

En vedette (20)

Los tipos de datos de sql server
Los tipos de datos de sql serverLos tipos de datos de sql server
Los tipos de datos de sql server
 
Tipos de datos sql server
Tipos de datos sql serverTipos de datos sql server
Tipos de datos sql server
 
Tipos de datos en sql server
Tipos de datos en sql serverTipos de datos en sql server
Tipos de datos en sql server
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
 
Cuadro comparativo sql
Cuadro comparativo sqlCuadro comparativo sql
Cuadro comparativo sql
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Consultas en sql básico
Consultas en sql básicoConsultas en sql básico
Consultas en sql básico
 
Ejercicios resueltos de sql
Ejercicios resueltos de sqlEjercicios resueltos de sql
Ejercicios resueltos de sql
 
10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
1 bases de-datos
1 bases de-datos1 bases de-datos
1 bases de-datos
 
Componentes de sql server 2008
Componentes de sql server 2008Componentes de sql server 2008
Componentes de sql server 2008
 
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
18 19 plataforma moodle, implementación, gestión, impacto y potencialidades e...
 
Tipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServerTipos de datos. Ejercicios en SQLServer
Tipos de datos. Ejercicios en SQLServer
 
Operadores en el lenguaje sql
Operadores en el lenguaje sqlOperadores en el lenguaje sql
Operadores en el lenguaje sql
 
Manualsqlserverparte
ManualsqlserverparteManualsqlserverparte
Manualsqlserverparte
 
Tipos de datos en sql
Tipos de datos en sqlTipos de datos en sql
Tipos de datos en sql
 
Moodle_Instalacion en localhost
Moodle_Instalacion en localhostMoodle_Instalacion en localhost
Moodle_Instalacion en localhost
 

Similaire à Tipos de base de datos de sql server 2008

Tipo de datos postgresql
Tipo de datos postgresqlTipo de datos postgresql
Tipo de datos postgresql
otowapo
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My Sql
Arnulfo Gomez
 

Similaire à Tipos de base de datos de sql server 2008 (20)

Cap. iv bdd ii
Cap. iv bdd iiCap. iv bdd ii
Cap. iv bdd ii
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Tipos de datos en power designer
Tipos de datos en power designerTipos de datos en power designer
Tipos de datos en power designer
 
Tipo de datos postgresql
Tipo de datos postgresqlTipo de datos postgresql
Tipo de datos postgresql
 
Tipo de variables de PowerDesigner
Tipo de variables de PowerDesignerTipo de variables de PowerDesigner
Tipo de variables de PowerDesigner
 
Tipos de datos en postgres
Tipos de datos en postgresTipos de datos en postgres
Tipos de datos en postgres
 
Tipo de datos
Tipo de datosTipo de datos
Tipo de datos
 
TIPO DE DATO EN PROGRAMACION
TIPO DE DATO EN PROGRAMACIONTIPO DE DATO EN PROGRAMACION
TIPO DE DATO EN PROGRAMACION
 
LENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQLLENGUAJE TRANSACT - SQL
LENGUAJE TRANSACT - SQL
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My Sql
 
Taba y tipos de datos
Taba y tipos de datosTaba y tipos de datos
Taba y tipos de datos
 
TABLAS Y TIPOS DE DATOS
TABLAS Y TIPOS DE DATOSTABLAS Y TIPOS DE DATOS
TABLAS Y TIPOS DE DATOS
 
tipo de datos
tipo de datostipo de datos
tipo de datos
 
tipo de Datos
tipo de Datos tipo de Datos
tipo de Datos
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Investigacion tipo de datos
Investigacion tipo de datosInvestigacion tipo de datos
Investigacion tipo de datos
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Tipos de-datos-power-designer (1)
Tipos de-datos-power-designer (1)Tipos de-datos-power-designer (1)
Tipos de-datos-power-designer (1)
 

Tipos de base de datos de sql server 2008

  • 1. INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PRIVADO BENJAMÍN FRANKLIN SQL SERVER 2008 NOMBRE: ELIZABETH HUARAYA APAZA TRABAJO: TIPOS DE DATOS DE SQL SERVER 2008 MATERIA: BASE DE DATOS PROFESOR: FRANKLIN CCAPA CARRERA: COMPUTO E INFORMÁTICA SEMESTRE: “V” 2013
  • 2. SQL SERVER 2008 CATEGORÍA TIPO DE DATO Binary Binary Varbinary Image Character Char Varchar Text Date time Datetime Smalldatetime Decimal Decimal Numeric Floatingpoint Float Real Integer Bigint Int Smallint Tinyint Monetary Money Smallmoney Special Bit Cursor Timestamp Uniqueidentifier SQL_variant Table Unicode Nchar Nvarchar Ntext
  • 3. TIPO DE DATOS  SQL_VARIANT: Tipo de datos que almacena valores de varios tipos de datos admitidos en SQL Server. sql_variant Sql_variant puede utilizarse en columnas, parámetros, variables y valores devueltos de funciones definidas por el usuario. Sql_variant permite que estos objetos de base de datos admitan valores de otros tipos de datos.  Una columna de tipo sql_variant puede contener filas de tipos de datos diferentes, puede almacenar valores int, binary y char. Los tipos de valores que no se pueden almacenar mediante sql_variant son: VALORES NO ALMACENADOS varchar(max) varbinary(max) nvarchar(max) Xml Text Ntext Image Timestamp sql_variant Geography Hierarchyid Geometry  Sql_variant puede tener una longitud máxima de 8.016 bytes. Esto incluye la información y el valor de tipo base. La longitud máxima del tipo base real es 8.000 bytes. El tipo de datos sql_variant pertenece a la parte superior de la lista de jerarquías de tipos de datos para conversión. En las comparaciones de sql_variant, el orden de la jerarquía del tipo de datos SQL Server se agrupa en familias de tipos de datos. JERARQUÍA DE TIPO DE DATOS FAMILIA DE TIPO DE DATOS sql_variant sql_variant datetime2 fecha y hora Datetimeoffset Fecha y hora Datetime fecha y hora Smalldatetime fecha y hora Date fecha y hora Time fecha y hora Float Valores numéricos aproximados Real Valores numéricos aproximados Decimal Valor numérico exacto Money Valor numérico exacto Smallmoney Valor numérico exacto Bigint Valor numérico exacto
  • 4. Int Valor numérico exacto Smallint Valor numérico exacto Tinyint Valor numérico exacto Bit Valor numérico exacto Nvarchar Unicode Nchar Unicode Varchar Unicode Char Unicode Varbinary Binario Binary Binario Uniqueidentifier Uniqueidentifier  INT, BIGINT, SMALLINT Y TINYINT Son tipos de datos numéricos exactos que utilizan datos enteros. TIPO DE DATOS INTERVALO ALMACENAMI ENTO Bigint De -2^63 (-9.223.372.036.854.775.808) a 2^63-1 (9.223.372.036.854.775.807) 8 bytes Int De -2^31 (-2.147.483.648) a 2^31-1 (2.147.483.647) 4 bytes Smallint De -2^15 (-32.768) a 2^15-1 (32.767) 2 bytes Tinyint De 0 a 255 1 byte  INT: Es el principal tipo de datos de valores enteros de SQL Server.  BIGINT: Esta se usa cuando los valores enteros pueden exceder el intervalo admitido por el tipo de dato INT.  CURSO: Un tipo de datos para las variables o para los parámetros de resultado de los procedimientos almacenados que contiene una referencia a un cursor. Las variables creadas con el tipo de datos cursor aceptan NULL. Las operaciones a las que pueden hacer referencia las variables y parámetros que tienen un tipo de datos cursor son:  Las instrucciones DECLARE @local_variable y SET @local_variable.  Las instrucciones del cursor OPEN, FETCH, CLOSE y DEALLOCATE.  Los parámetros de resultado de procedimientos almacenados.  La función CURSOR_STATUS.  Los procedimientos almacenados del sistema sp_cursor_list, sp_describe_cursor, sp_describe_cursor_tables y sp_describe_cursor_columns.
  • 5.  DECIMAL Y NUMERIC Tipos de datos numéricos que tienen precisión y escala fijas. DECIMAL [ (p[ ,s] )]y NUMERIC [ (p[ ,s] )] P = (precisión) S = (escala) Cuando se utiliza la precisión máxima, los valores válidos se sitúan entre - 10^38 +1 y 10^38 - 1. Los sinónimos de ISO para decimal son de tipo dec y dec(p, s). numeric es funcionalmente equivalente a decimal. El número total máximo de dígitos decimales que se puede almacenar, tanto a la izquierda como a la derecha del separador decimal, puede ser a:  La precisión debe ser un valor comprendido entre 1 y la precisión máxima de 38. La precisión predeterminada es 18.  La escala debe ser un valor comprendido entre 0 y p. Sólo es posible especificar la escala si se ha especificado la precisión. La escala predeterminada es 0; por lo tanto, 0 <= s <= p. Los tamaños de almacenamiento máximo varían, según la precisión. PRECISIÓN BYTES DE ALMACENAMIENTO 1 - 9 5 10-19 9 20-28 13 29-38 17  MONEY Y SMALLMONEY: Tipos de datos que representan valores monetarios o de moneda. TIPO DE DATOS INTERVALO ALMACENAMIENTO Money De -922,337,203,685.477,5808 a 922,337,203,685.477,5807 8 bytes Smallmoney De - 214.748,3648 a 214.748,3647 4 bytes Los tipos de datos money y smallmoney tienen una precisión de una diezmilésima de las unidades monetarias que representan.  FLOAT Y REAL Tipos de datos numéricos y aproximados que se utilizan con datos numéricos de coma flotante. Los datos de coma flotante son aproximados, no todos los valores del intervalo del tipo de datos se pueden representar con exactitud.
  • 6. TIPO DE DATOS INTERVALO ALMACENAMIENTO Float De - 1,79E+308 a -2,23E-308, 0 y de 2,23E-308 a 1,79E+308 Depende del valor de n. Real De - 3,40E + 38 a -1,18E - 38, 0 y de 1,18E - 38 a 3,40E + 38 4 Bytes  FLOAT[ (n) ] :Donde n es el número de bits que se utilizan para almacenar la mantisa del número float en notación científica y dicta su precisión y el tamaño de almacenamiento.Si se especifica n, debe ser un valor entre 1 y 53. El valor predeterminado de n es 53. NVALUE PRECISIÓN TAMAÑO DE ALMACENAMIENTO 1-24 7 dígitos 4 bytes 25-53 15 dígitos 8 bytes  BINARY Y VARBINARY Tipos de datos binarios de longitud fija o variable. BINARY[ ( n ) ] Datos binarios de longitud fija con una longitud de n bytes, donde n es un valor que oscila entre 1 y 8.000. El tamaño de almacenamiento es de n bytes. VARBINARY[ ( n | max) ] Datos binarios de longitud variable. n puede ser un valor que oscila entre 1 y 8.000. max indica que el tamaño máximo de almacenamiento es de 2^31-1 bytes.El tamaño de almacenamiento es la longitud real de los datos especificados + 2 bytes. Los datos especificados pueden tener una longitud de 0 bytes. Cuando no se especifica el argumento n con la función CAST, la longitud predeterminada es 30.  Utilice binary cuando los tamaños de las entradas de datos de columna sean coherentes.  Utilice varbinary cuando los tamaños de las entradas de datos de columna varíen considerablemente.  Utilice varbinary(max) cuando las entradas de datos de columna superen los 8.000 bytes.  NCHAR Y NVARCHAR Tipos de datos de caracteres, para datos Unicode de longitud fija, nchar, o variable, nvarchar, y que utilizan el juego de caracteres UNICODE UCS-2. NCHAR[ ( n ) ]
  • 7. Datos de carácter Unicode de longitud fija, con n caracteres. n debe estar comprendido entre 1 y 4.000. El tamaño de almacenamiento es dos veces n bytes. NVARCHAR[ ( n | max ) ] Datos de carácter Unicode de longitud variable. N puede ser un valor comprendido entre 1 y 4.000. max indica que el tamaño máximo de almacenamiento es 2^31-1 bytes. El tamaño de almacenamiento en bytes es dos veces el número de caracteres especificado + 2 bytes. Los datos especificados pueden tener una longitud de 0 caracteres.  Cuando no se especifica el argumento n en la función CAST, la longitud predeterminada es 30.  Use ncharcuando sea probable que el tamaño de las entradas de datos de las columnas sea similar.  Use nvarcharcuando sea probable que el tamaño de las entradas de datos de las columnas varíe.  ROWVERSION: Rowversion suele utilizarse como mecanismo para marcar la versión de las filas de la tabla. El tamaño de almacenamiento es de 8 bytes. El tipo de datos rowversion es simplemente un número que se incrementa y no conserva una fecha o una hora. Para registrar una fecha o una hora se usa un tipo de datos datetime2.  Cada base de datos tiene un contador que se incrementa por cada operación de inserción o actualización que se lleva a cabo en una tabla que contiene una columna rowversion en la base de datos.  Timestamp es el sinónimo del tipo de datos rowversion y está sujeto al comportamiento de los sinónimos de tipos de datos. En una instrucción CREATETABLE o ALTER TABLE, no tiene que especificar ningún nombre de columna para el tipo de datos timestamp. Si no especifica un nombre de columna, el SQL Server Database Engine (Motor de base de datos de SQL Server) genera el nombre de columna timestamp. Cuando utiliza rowversion, debe especificar un nombre de columna.  TABLE: Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de resultados para su procesamiento posterior. Table se utiliza principalmente para el almacenamiento temporal de un conjunto de filas devuelto como el conjunto de resultados de una función con valores de tabla.  Para declarar variables de tipo table, utilice DECLARE @local_variable TABLE_TYPE_DEFINITION Es el mismo subconjunto de información que se utiliza para definir una tabla en CREATETABLE. La declaración de tabla incluye definiciones de columna, nombres,
  • 8. tipos de datos y restricciones. Sólo se permiten los tipos de restricciones PRIMARY KEY, UNIQUE KEY y NULL. COLLATION_DEFINITION Si no se especifica collation_definition, la columna hereda la intercalación de la base de datos actual. Si la columna se ha definido como un tipo definido por el usuario CLR (CommonLanguageRuntime), la columna hereda la intercalación del tipo definido por el usuario. Las variables table ofrecen las siguientes ventajas:  Una variable table se comporta como una variable local. Tiene un ámbito bien definido. Dentro de su ámbito, la variable table se puede utilizar como una tabla normal. Puede aplicarse en cualquier lugar de las instrucciones SELECT, INSERT, UPDATE y DELETE donde se utilice una tabla o expresión de tabla.  Las variables table se limpian automáticamente al final de la función, procedimiento almacenado o lote en que están definidas.  Las restricciones CHECK, los valores DEFAULT y las columnas calculadas de la declaración del tipo table no pueden llamar a funciones definidas por el usuario.  Las variables table que se utilizan en procedimientos almacenados dan lugar a menos recompilaciones de los procedimientos almacenados que cuando se utilizan tablas temporales.  Las transacciones con variables table existen sólo mientras dura una actualización en la variable table, que requieren menos recursos de registro y bloqueo.  BIT: Tipo de datos entero que puede aceptar los valores 1, 0 o NULL. Motor de base de datos de SQL Server optimiza el almacenamiento de las columnas de tipo bit. Si una tabla contiene 8 columnas o menos de tipo bit, éstas se almacenan como 1 byte. Si hay entre 9 y 16 columnas de tipo bit, se almacenan como 2 bytes, y así sucesivamente.  DATETIME Define una fecha que se combina con una hora del día con fracciones de segundos basada en un reloj de 24 horas. PROPIEDAD VALOR Sintaxis Datetime Uso DECLARE @MyDatetimedatetime CREATE TABLE Table1 ( Column1 datetime ) Formatos de literal de cadena predeterminados(se usan para el cliente de nivel inferior) No aplicable Intervalo de fechas Del 1 de enero de 1753 hasta el 31 de diciembre de 9999
  • 9. Intervalo de horas De 00:00:00 a 23:59:59.997 Intervalo de desplazamiento de zona horaria Ninguno Intervalos de elementos AAAA es una cifra de cuatro dígitos comprendida entre 1753 y 9999 que representa un año. MM es una cifra de dos dígitos comprendida entre 01 y 12 que representa un mes del año especificado. DD es una cifra de dos dígitos comprendida entre 01 y 31 dependiendo del mes, que representa un día del mes especificado. hh es una cifra de dos dígitos comprendida entre 00 y 23 que representa la hora. mm es una cifra de dos dígitos comprendida entre 00 y 59 que representa los minutos. s es una cifra de dos dígitos comprendida entre 00 y 59 que representa los segundos. n* es una cifra de cero a tres dígitos comprendida entre 0 y 999 que representa las fracciones de segundos. Longitud de los caracteres 19 posiciones como mínimo a 23 como máximo Tamaño de almacenamiento 8 bytes Precisión Se redondea en incrementos de 0,000, 0,003 o 0.007 segundos Valor predeterminado 1900-01-01 00:00:00 Calendario Gregoriano (no incluye el intervalo completo de años.) Precisión de fracciones de segundo definida por el usuario No Conservación y reconocimiento del desplazamiento de la zona horaria No Reconocimiento del horario de verano No Formato de lineamiento compatible para datetime NUMÉRICO DESCRIPCIÓN FORMATOS DE FECHA: [0]4/15/[19]96 -- (mda) Puede especificar datos de fecha con un mes en forma de número. Por ejemplo, 5/20/97 representa el veinte de mayo de 1997. Cuando use un formato numérico de fecha, especifique el mes, el día y el año en una cadena con barras
  • 10. [0]4-15-[19]96 -- (mda) [0]4.15.[19]96 -- (mda) [0]4/[19]96/15 -- (mad) 15/[0]4/[19]96 -- (dma) 15/[19]96/[0]4 -- (dam) [19]96/15/[0]4 -- (adm) [19]96/[0]4/15 -- (amd) FORMATOS DE HORA: 14:30 14:30[:20:999] 14:30[:20.9] 4am 4 PM diagonales (/), guiones (-) o puntos (.) como separadores. Esta cadena debe aparecer de la forma siguiente: número separador número separador número [hora] [hora] Cuando el idioma establecido es us_english, el orden predeterminado de la fecha es mdy (mes, día, año). Para cambiar el orden de la fecha, utilice la instrucción SET DATEFORMAT. La configuración de SET DATEFORMAT determina cómo se interpretan los valores de fecha. Si el orden no coincide con esta configuración, los valores no se interpretarán como fechas porque se encuentran fuera del intervalo, o bien se interpretarán incorrectamente. ALFABÉTICO DESCRIPCIÓN Abr[il] [15][,] 1996 Abr[il] 15[,] [19]96 Abr[il] 1996 [15] [15] Abr[il][,] 1996 15 Abr[il][,][19]96 15 [19]96 abr[il] [15] 1996 abr[il] 1996 ABR[IL] [15] 1996 [15] ABR[IL] Puede especificar los datos de la fecha con un mes especificado como el nombre completo del mes. Éstas son algunas directrices para utilizar los formatos alfabéticos de fecha:  Incluya los datos de fecha y hora entre comillas simples ('). Para los idiomas distintos de inglés, utilice N'  Los caracteres que se incluyen entre corchetes son opcionales.  Si sólo especifica los dos últimos dígitos del año, los valores inferiores a los dos últimos dígitos del valor de la opción de configuración Fecha límite de año de dos dígitos pertenecen al mismo siglo que el año límite. Los valores mayores o iguales que el valor de esta opción pertenecen al siglo anterior al año límite.  Si falta el día, se usará el primer día del mes. El parámetro de sesión SET DATEFORMAT no se aplica cuando se especifica el mes de forma alfabética.
  • 11. ISO 8601 Descripción AAAA-MM-DDThh:mm:ss[.mmm] AAAAMMDDThh:mm:ss[.mmm] Para utilizar el formato ISO 8601, debe especificar todos los elementos del formato. Esto también incluye T, los dos puntos (:) y el punto (.) que se muestran en el formato. Los corchetes indican que el componente de fracción de segundo es opcional. El componente de hora se especifica en el formato de 24 horas. La T indica el inicio de la parte de hora del valor datetime. La ventaja de utilizar el formato ISO 8601 es que se trata de un estándar internacional con una especificación que evita ambigüedades. Asimismo, este formato no se ve afectado por los parámetros SET DATEFORMAT o SET LANGUAGE. ODBC DESCRIPCIÓN { ts '1998-05-02 01:23:56.123' } { d '1990-10-02' } { t '13:33:41' } La API de ODBC define secuencias de escape para representar valores de fecha y de hora que ODBC llama datos de marca de tiempo. Las aplicaciones que usan las API basadas en ODBC, OLE DB y ADO pueden usar este formato de marca de tiempo de ODBC para representar fechas y horas. Las secuencias de escape de marca de hora de ODBC tienen el formato: { literal_type 'constant_value' }:  literal_type especifica el tipo de la secuencia de escape. Las marcas de hora tienen tres especificadores literal_type: o d = sólo fecha o t = sólo hora o ts = marca de hora (hora + fecha)  'constant_value' es el valor de la secuencia de escape. constant_value debe seguir estos formatos para cada literal_type. literal_typeformatoconstant_value d aaaa-mm-dd t hh:mm:ss[.fff] tsaaaa-mm-ddhh:mm:ss[.fff]
  • 12. Los valores datetime se redondean con incrementos de 0,000; 0,003 o 0,007 segundos, como: VALOR ESPECIFICADO POR EL USUARIO VALOR ALMACENADO POR EL SISTEMA 01/01/98 23:59:59.999 1998-01-02 00:00:00.000 01/01/98 23:59:59.995 01/01/98 23:59:59.996 01/01/98 23:59:59.997 01/01/98 23:59:59.998 1998-01-01 23:59:59.997 01/01/98 23:59:59.992 01/01/98 23:59:59.993 01/01/98 23:59:59.994 1998-01-01 23:59:59.993 01/01/98 23:59:59.990 01/01/98 23:59:59.991 1998-01-01 23:59:59.990  HIERARCHYID El tipo de datos del sistema de hierarchyid es de longitud variable. Use hierarchyid para representar la posición en una jerarquía. Una columna de tipo hierarchyid no representa automáticamente un árbol. Dependerá de la aplicación generar y asignar los valores hierarchyid de tal forma que la relación deseada entre las filas se refleje en los valores. Los valores de hierarchyid tienen las siguientes propiedades.  MUY COMPACTOS El número medio de bits necesarios para representar un nodo en un árbol con n nodos depende del promedio de nodos secundarios. Para multiplicadores de salida pequeños (0-7), el tamaño es aproximadamente 6*logAn bits, donde A es el promedio de nodos secundarios. Un nodo en una jerarquía organizativa de 100.000 personas con un promedio de nodos secundarios de 6 niveles supone aproximadamente 38 bits. Esto se redondea a 40 bits (o 5 bytes) para el almacenamiento.  LA COMPARACIÓN SE REALIZA CON PRIORIDAD A LA PROFUNDIDAD Dados dos valores hierarchyid a y b, a<b que viene antes que b en un corte transversal de prioridad a la profundidad del árbol. Los índices de los tipos de datos hierarchyid están en orden con prioridad a la profundidad y los nodos cercanos entre sí en un corte transversal de prioridad a la profundidad se almacenan casi uno junto a otro.
  • 13.  COMPATIBILIDAD CON INSERCIONES Y ELIMINACIONES ARBITRARIAS Con el método GetDescendant siempre es posible generar un miembro del mismo nivel a la derecha de cualquier nodo determinado, a la izquierda de cualquier nodo determinado, o entre dos miembros cualesquiera del mismo nivel. Se mantiene la propiedad comparison cuando se inserta o elimina un número arbitrario de nodos de la jerarquía.  La codificación usada en el tipo hierarchyid está limitada a 892 bytes. Por consiguiente, el tipo hierarchyid no podrá representar los nodos con demasiados niveles en su representación como para caber en los 892 bytes.  NTEXT, TEXT E IMAGE: Tipos de datos de longitud fija y variable para almacenar valores de gran tamaño con datos de caracteres y binarios Unicode y no Unicode. Los datos Unicode utilizan el juego de caracteres UNICODE UCS-2.  NTEXT: Datos Unicode de longitud variable con una longitud máxima de 2^30 - 1 (1.073.741.823) caracteres. El tamaño del almacenamiento, en bytes, es dos veces el número de caracteres especificado.  TEXT: Datos no Unicode de longitud variable de la página de códigos del servidor y con una longitud máxima de 2^31-1 (2.147.483.647) caracteres. Cuando la página de códigos del servidor utiliza caracteres de doble byte, el almacenamiento sigue siendo de 2.147.483.647 bytes. Dependiendo de la cadena de caracteres, el espacio de almacenamiento puede ser inferior a 2.147.483.647 bytes.  IMAGE: Datos binarios de longitud variable desde 0 hasta 2^31-1 (2.147.483.647) bytes. Funciones e instrucciones que se pueden utilizar con datos de tipo text, ntext o imagen son: FUNCIONES INSTRUCCIONES DATALENGTH (Transact-SQL) READTEXT (Transact-SQL) PATINDEX (Transact-SQL) SET TEXTSIZE (Transact-SQL) SUBSTRING (Transact-SQL) UPDATETEXT (Transact-SQL) TEXTPTR (Transact-SQL) WRITETEXT (Transact-SQL) TEXTVALID (Transact-SQL)