Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

CAST y CONVERT (SQL Server Compact)

Convierte de forma explícita una expresión de un tipo de datos a otro. CAST es una variante sintáctica de CONVERT.


Syntax for CAST:
CAST ( expression AS data_type [ (length ) ])
Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] ,expression [ ,style ] )

data_type

El tipo de datos proporcionado por el sistema de destino es bigint. No se pueden utilizar tipos de datos definidos por el usuario. Para obtener más información acerca de los tipos de datos disponibles, vea Tipos de datos.

Length

Parámetro opcional de los tipos de datos nchar, nvarchar, char, varchar, binary o varbinary.

Expression

Cualquier expresión válida de SQL Server Compact. Para obtener más información, vea Expresiones (SQL Server Compact).

Style

Estilo del formato de fecha que se usa para convertir datos datetime o smalldatetime a datos de tipo carácter (tipos de datos nchar, nvarchar, char, varchar, nchar o nvarchar), o bien el formato de cadena al convertir datos de tipo float, real, money o smallmoney en datos de tipo carácter (nchar, nvarchar, char, varchar, nchar o nvarchar). Si style es NULL, el resultado devuelto también es NULL.

Para obtener más información, vea la sección "Notas" posteriormente en este tema.

SQL Server Compact es compatible con el formato de fecha en estilo árabe, mediante el algoritmo Kuwaití.

En la siguiente tabla, las dos columnas de la izquierda representan los valores de style para la conversión de los tipos de datos datetime o smalldatetime en tipos de datos de carácter. Agregue 100 a un valor de style para obtener un año con cuatro dígitos que incluya el siglo (aaaa).

Sin el siglo (aa)

Con el siglo (aaaa)

Estándar

Entrada/Salida**

-

0 ó 100 (*)

Predeterminado

mes dd aaaa hh:mi a.m. (o p.m.)

1

101

Estados Unidos

mm/dd/aaaa

2

102

ANSI

aa.mm.dd

3

103

Británico/Francés

dd/mm/aa

4

104

Alemán

dd.mm.aa

5

105

Italiano

dd-mm-aa

6

106

-

dd mes aa

7

107

-

Mes dd, aa

8

108

-

hh:mm:ss

-

9 ó 109 (*)

Valor predeterminado + milisegundos

mes dd aaaa hh:mi:ss:mmm a.m. (o p.m.)

10

110

Estados Unidos

mm-dd-aa

11

111

JAPÓN

aa/mm/dd

12

112

ISO

Aammdd

-

13 ó 113 (*)

Valor predeterminado para Europa + milisegundos

dd mes aaaa hh:mm:ss:mmm (24h)

14

114

-

hh:mi:ss:mmm (24h)

-

20 ó 120 (*)

ODBC canónico

aaaa-mm-dd hh:mi:ss (24h)

-

21 ó 121 (*)

ODBC canónico (con milisegundos)

aaaa-mm-dd hh:mi:ss.mmm (24h)

-

126(***)

ISO8601

aaaa-mm-ddThh:mm:ss.mmm (sin espacios)

-

130*

Hijri****

dd mes aaaa hh:mi:ss:mmm a.m.

-

131*

Hijri****

dd/mm/aa hh:mi:ss:mmm a.m.

* Los valores predeterminados (style 0 ó 100, 9 ó 109, 13 ó 113, 20 ó 120 y 21 ó 121) siempre devuelven el siglo (aaaa).

** Entrada al convertir a datetime. Salida al convertir a datos de tipo carácter.

*** Diseñado para usarse con XML. Para convertir datos del tipo datetime o smalldatetime a character, el formato de salida es el descrito en la tabla. Para convertir datos del tipo float, money o smallmoney a character, la salida es equivalente a style 2. Para la conversión del tipo de datos real a character, la salida es equivalente a style 1.

**** Hijri es un sistema de calendario con distintas variaciones, de las cuales SQL Server Compact usa el algoritmo Kuwaiti.

En la siguiente tabla se muestran los valores de style para convertir los tipos de datos float o real a datos de tipo carácter.

Valor

Salida

0 (predeterminado)

Máximo de seis dígitos. Úselo en notación científica, cuando proceda.

1

Siempre ocho dígitos. Úselo siempre en notación científica.

2

Siempre 16 dígitos. Úselo siempre en notación científica.

En la siguiente tabla, la columna de la izquierda representa el valor de style para convertir datos de tipo money o smallmoney en datos de tipo carácter.

Valor

Salida

0 (predeterminado)

Sin puntos a la izquierda del separador decimal y dos dígitos a la derecha del separador decimal. Ejemplo: 4235.98.

1

Puntos cada tres dígitos a la izquierda del separador decimal y dos dígitos a la derecha del separador decimal. Ejemplo: 3,510.92.

2

Sin puntos a la izquierda del separador decimal y cuatro dígitos a la derecha del separador decimal. Ejemplo: 4235.9819.

Use style 128 para quitar los ceros finales de un conjunto de resultados cuando convierta un tipo de datos numeric o decimal a datos de caracteres.

Nota importante Importante

Cuando se usa CAST o CONVERT para nchar, nvarchar, binary y varbinary, SQL Server trunca los valores a un máximo de 30 caracteres. SQL Server Compact permite 4000 para nchar y nvarchar, y 8000 para binary y varbinary. Por ello, los resultados generados al consultar SQL Server y SQL Server Compact son diferentes. Cuando el tamaño de los tipos de datos se especifica como nchar(200), nvarchar(200), binary(400), varbinary(400), los resultados son coherentes a través de SQL Server y SQL Server Compact.

En la ilustración siguiente se muestran conversiones de datos explícitas e implícitas en SQL Server Compact.

Conversiones de datos implícitas y explícitas

En el siguiente ejemplo se convierte un valor datetime en un valor nvarchar.

SELECT OrderDate, CONVERT(nvarchar(10), OrderDate, 101)
FROM Orders

Convierte una expresión de un tipo de datos a otro. En el ejemplo siguiente, el resultado de la conversión es 10.

SELECT CAST(10.6496 AS int)

Cuando se produce una conversión de datos en la que el tipo de datos de origen tiene menos lugares decimales que el de destino, el valor se redondea. Por ejemplo, el resultado de la conversión siguiente es $10.3497.

SELECT CAST(10.3496847 AS money)

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft