Consulta SQL para convertir fecha y hora en fecha
En MS SQL Server, las fechas son complicadas para los principiantes, ya que mientras se trabaja con la base de datos, el formato de la fecha en la tabla debe coincidir con la fecha ingresada para poder insertar. En varios escenarios, en lugar de la fecha, se utiliza DateTime (la hora también está relacionada con la fecha). En este artículo, aprenderemos cómo convertir un DateTime en un DATE utilizando las tres funciones diferentes.
- CONVERTIR( )
- PRUEBA_CONVERTIR( )
- Usando subcadena
El objetivo de los datos de este artículo es convertir DateTime a Date en SQL Server como AAAA-MM-DD HH:MM: SS a AAAA-MM-DD.
Método 1: usar yeso
Esta es una función para convertir un tipo a otro tipo, por lo que aquí la usaremos para convertir DateTime hasta la fecha.
Sintaxis:
CAST( dateToConvert AS DATE)
Ejemplo 1:
Consulta:
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE
Producción:
OBTENER LA FECHA(): Esta función devuelve la fecha y hora actual como (2021-08-27 17:26:36.710)
Ejemplo 2;
Consulta:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG Producción:
Método 2: usar Convertir
Esta es una función para convertir un tipo en otro tipo, así que aquí la usaremos para convertir DateTime a fecha.
Sintaxis:
CONVERT(DATE, dateToConvert)
Ejemplo 1:
Consulta:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG
Producción:
Ejemplo 2:
Consulta:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG
Producción:
Método 3: Try_Convert
Esta es una función para convertir un tipo a otro tipo, por lo que aquí la usaremos para Convertir fecha y hora a fecha. si la fecha no es válida, será nula mientras Convert genera un error.
Sintaxis:
TRY_CONVERT(DATE, dateToConvert)
SELECCIONE TRY_CONVERT(FECHA,’2021-08-27 17:26:36.710′) COMO CURRENT_DATE_GFG
Ejemplo 1:
Consulta:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG
Producción:
Ejemplo 2:
Consulta:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG
Producción:
Método 4: usar subcadena
Esta es una función para obtener una cadena corta o subcadena, por lo que aquí obtenemos el índice de subcadena 0 a 11.
Sintaxis:
SUBSTRING( dateToConvert ,0,11)
Ejemplo 1:
Consulta:
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG
Producción:
Ejemplo 2;
Consulta:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG
Producción: