Cuando manejamos tipos de datos datetime y smalldatetime, a menudo es necesaria hacer una cambio de formato de fecha al resultado obtenido de la base de datos.
En Sql Server podemos usar la función CONVERT para hacer dichas conversiones directamente en la consulta transact-sql, ahorrándonos trabajo en la lógica de aplicación.
La sintáxis para dicha función es el siguiente:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Un ejemplo aplicado sería:
CONVERT(varchar(11), campo_fecha, 112) as fecha
Esto nos convertiría el valor de un campo_fecha del tipo datetime a tipo varchar con un formato ISO (por ejemplo 081231), y le asigna un alias fecha.
Lo que sigue es una tabla de códigos con las distintas opciones de formato para las fechas.
| Sin el siglo (aa) (1) | Con el siglo ?(aaaa) | Estándar | Entrada/salida (3) |
| - | 0 o 100 (1, 2) | Valor predeterminado | mes dd aaaa hh:mia.m. (o p. m.) |
| 1 | 101 | EE.UU. | 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 (1) | - | dd mes aa |
| 7 | 107 (1) | - | Mes dd, aa |
| 8 | 108 | - | hh:mi:ss |
| - | 9 o 109 (1, 2) | Valor predeterminado + milisegundos | mes dd aaaa hh:mi:ss:mmma.m. (o p. m.) |
| 10 | 110 | EE.UU. | mm-dd-aa |
| 11 | 111 | JAPÓN | aa/mm/dd |
| 12 | 112 | ISO | aammdd |
| - | 13 o 113 (1, 2) | Europeo predeterminado + milisegundos | dd mes aaaa hh:mi:ss:mmm(24h) |
| 14 | 114 | - | hh:mi:ss:mmm(24h) |
| - | 20 o 120 (2) | ODBC canónico | aaaa-mm-dd hh:mi:ss(24h) |
| - | 21 o 121 (2) | ODBC canónico (con milisegundos) | aaaa-mm-dd hh:mi:ss.mmm(24h) |
| - | 126 (4) | ISO8601 | aaaa-mm-ddThh:mi:ss.mmm (sin espacios) |
| 127(6, 7) | ISO8601 con zona horaria Z. | aaaa-mm-ddThh:mi:ss.mmmZ
(sin espacios) |
|
| - | 130 (1, 2) | Hijri (5) | dd mes aaaa hh:mi:ss:mmma.m. |
| - | 131 (2) | Hijri (5) | dd/mm/aa hh:mi:ss:mmma.m. |
1 Estos valores de estilo devuelven resultados no deterministas. Incluye todos los estilos (aa) (sin el siglo) y un subconjunto de estilos (aaaa) (con el siglo).
2 Los valores predeterminados (style 0 o 100, 9 o 109, 13 o 113, 20 o 120 y 21 o 121) siempre devuelven el siglo (aaaa).
3 Entrada cuando se convierte en datetime; salida cuando se convierte en datos de caracteres.
4 Diseñado para usarse con XML. Para convertir datos datetime o smalldatetime en datos de caracteres, el formato de salida es el descrito en la tabla anterior.
5 Hijri es un sistema de calendario con varias variaciones. SQL Server 2005 usa el algoritmo Kuwaiti.
Junio 26th, 2008 at 7:52 pm
Emmmmmmmm, no se puede usar una mascara personalizada?
Anonadado me dejas