Para convertir un DateTime en una string, podemos usar las funciones CONVERT() y CAST() . Estas funciones se utilizan para convertir un valor (de cualquier tipo de datos) en un tipo de datos específico.
Función CONVERTIR()
Sintaxis:
CONVERT(VARCHAR, datetime [,style])
- VARCHAR : representa el tipo de string.
- fecha y hora : puede ser la expresión que evalúa la fecha o el valor de fecha y hora que desea convertir en una string.
- estilo – Especifica el formato de la fecha. Su valor está predefinido por SQL Server. El parámetro de estilo es opcional.
Función CAST()
Sintaxis:
CAST(EXPRESSION AS DATATYPE(length))
- EXPRESIÓN : representa el valor que debe convertirse.
- DATATYPE – Es el tipo de dato al que queremos convertir nuestra expresión.
- longitud : representa la longitud del tipo de datos resultante (opcional).
Sin que Siglo (AA) |
Con Siglo (AAAA) |
Estándar |
Formato |
---|---|---|---|
– |
0 o 100 |
Predeterminado para fecha y hora y pequeña fecha y hora |
lun dd aaaa hh:miAM (o PM) |
1 |
101 |
A NOSOTROS |
1 = dd/mm/aa 101 = mm/dd/aaaa |
2 |
102 |
ANSI |
2 = aa.mm.dd 102 = aaaa.mm.dd |
3 |
103 |
británico/francés |
3 = dd/mm/aa 103 = dd/mm/aaaa |
4 |
104 |
Alemán |
4 = dd.mm.aa 104 = dd.mm.aaaa |
5 |
105 |
italiano |
5 = dd-mm-aa 105 = dd-mm-aaaa |
6 |
106 |
– |
6 = dd mes aa 106 = dd mes aaaa |
7 |
107 |
– |
7 = Lun dd, aa 107 = Lun dd, aaaa |
8 |
108 |
– |
hh:mm:ss |
En el siguiente ejemplo, convertiremos DateTime en una string en diferentes formatos.
Paso 1: Crear una base de datos
Consulta:
CREATE DATABASE Product_order;
Paso 2: crea una tabla
Ahora, necesitamos crear una tabla dentro de nuestra base de datos. Para esto, usaremos la instrucción CREATE.
Consulta:
CREATE TABLE orders (prod_id INT, prod_name VARCHAR(255), order_date DATE, PRIMARY KEY(prod_id));
Paso 3: Insertar datos en una tabla
En este paso, insertaremos datos dentro de nuestra tabla de pedidos. Para insertar datos usaremos una instrucción INSERT.
Consulta:
INSERT INTO orders VALUES (101, 'iPhone', '2020-07-20'), (102, 'iPad', '2018-01-01'), (103, 'iWatch', '2019-03-15'), (104, 'iMac', '2016-05-13');
Paso 4: Para verificar el contenido de la tabla, usaremos la instrucción SELECT.
SELECT * FROM orders;
Producción:
Paso 5: Usar la función CONVERTIR()
Consulta :
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 101); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,0) s1;
Producción:
Consulta :
En esto, estamos cambiando el parámetro de estilo a 1. De manera similar, puede usar diferentes valores de parámetros de estilo de la tabla anterior.
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 103); /*SELECT statement is used to print the s1 message*/ SELECT CONVERT(VARCHAR(20),@dt,1) s1;
Producción :
Paso 6: Usar la función CAST()
Consulta:
/*Declaring DATETIME as dt*/ DECLARE @dt DATETIME = (SELECT order_date FROM orders WHERE prod_id = 102); /*SELECT statement is used to print the s1 message*/ SELECT CAST(@dt AS DATETIME) s1;
Producción: