Tema SQL
TRY_PARSE() (SQL Server)
Intenta convertir cadena a fecha/número usando cultura; si falla devuelve NULL sin error. Diferente de TRY_CAST: TRY_PARSE usa reglas de formato regional para fechas.
Descripción
TRY_PARSE(cadena AS tipo [, cultura]) es útil para literales ambiguos tipo día/mes/año según locale. TRY_CAST usa reglas de conversión del motor sin parseo flexible de cultura. Para enteros decimales usa TRY_CAST cuando el formato es fijo. Combina con WHERE TRY_PARSE(…) IS NOT NULL para filtrar válidos en staging.
Estructura general
Forma habitual de la sentencia: orden de cláusulas, qué parte filtra, agrupa o proyecta columnas, y qué devuelve el motor. Cópiala como plantilla y sustituye nombres por tus tablas reales.
TRY_PARSE(cadena AS tipo [ (precisión [, escala ]) ] [, cultura])
Componentes
Cada componente tiene un papel concreto en la ejecución lógica de la sentencia. Léelos en orden: así entiendes qué puedes omitir, qué es obligatorio y qué expresiones son válidas en cada sitio según tu motor.
- TRY_CONVERT
- Otra variante con estilos numéricos/fecha fijos.
- MySQL
- STR_TO_DATE o validación en aplicación.
Ejemplos
Ejemplo 1
SELECT TRY_PARSE('2026-04-15' AS date);
SELECT TRY_PARSE('April 15 2026' AS datetime2 USING 'en-US');
Ejemplo 2
SELECT TRY_PARSE('15/04/2026' AS DATE USING 'fr-FR') AS d_eu;
Los ejemplos son ilustrativos. En producción usa consultas parametrizadas (prepared statements), revisa índices y aplica el principio de menor privilegio en cuentas de base de datos.