Cómo manejar fechas no válidas

Análisis de series temporales en SQL Server

Maham Faisal Khan

Senior Data Science Content Developer

Funciones de conversión de fechas seguras ante errores

Funciones «no seguras»

CAST()
CONVERT()
PARSE()

Funciones seguras

TRY_CAST()
TRY_CONVERT()
TRY_PARSE()
Análisis de series temporales en SQL Server

Cuando todo sale bien

SELECT
    PARSE('01/08/2019' AS DATE USING 'en-us') AS January8US,
    PARSE('01/08/2019' AS DATE USING 'fr-fr') AS August1FR;
GO

Resultados:

January8US August1FR
2019-01-08 2019-08-01
Análisis de series temporales en SQL Server

Cuando todo sale mal

SELECT
    PARSE('01/13/2019' AS DATE USING 'en-us') AS January13US,
    PARSE('01/13/2019' AS DATE USING 'fr-fr') AS Smarch1FR;
GO
**Msg 9819, Level 16, State 1, Line 1**

Error al convertir el valor de cadena '01/13/2019' al tipo de datos date usando la configuración regional 'fr-fr'.
Análisis de series temporales en SQL Server

Hacerlo bien cuando todo va mal

SELECT
    TRY_PARSE('01/13/2019' AS DATE USING 'en-us') AS January13US,
    TRY_PARSE('01/13/2019' AS DATE USING 'fr-fr') AS Smarch1FR;
GO
January13US Smarch1FR
2019-01-13 NULL
Análisis de series temporales en SQL Server

El coste de la seguridad

Usar métodos seguros no es más costoso que usar métodos no seguros.

Análisis de series temporales en SQL Server

El coste de la seguridad

Las funciones CAST() y CONVERT() se ejecutan a una velocidad similar.

Análisis de series temporales en SQL Server

El coste de la seguridad

Las funciones PARSE() son mucho más lentas que CAST() y CONVERT().

Análisis de series temporales en SQL Server

El coste de la seguridad

Estas son medidas por segundo, por lo que escalan linealmente.

Análisis de series temporales en SQL Server

¡Vamos a practicar!

Análisis de series temporales en SQL Server

Preparing Video For Download...