Referencia técnica independienteSitio oficial
  • Software y sistemas
  • Base de datos

22007

PostgreSQL 22007 en base de datos: formato de fecha u hora no válido

Verificada con fuentes2 fuentesRevisada 3 oct 2026
¿Viene un técnico? Mira los 2 pasos que debe enseñarte
Trace

Evidencia vinculada a esta decisión

Ver fuente: PostgreSQL 18 Appendix A: Error Codes

Nivel de riesgo

Seguro

Puedes actuar sin peligro siguiendo las comprobaciones seguras.

Urgencia

Media — atiéndelo hoy

Respuesta rápida

PostgreSQL no pudo interpretar un texto como fecha u hora. Revisa el valor exacto enviado y el ajuste DateStyle de la sesión; enviar las fechas en formato ISO 8601, como 1999-01-08, evita ambigüedades.

Seguridad primero

Antes de continuar

  • No cambies DateStyle en todo el servidor para que una aplicación funcione: cambia la interpretación de fechas ambiguas para todos los clientes.

Puedes hacerlo con seguridad

  • Valor exacto enviado
  • DateStyle de la sesión
  • Lo que puede hacer quien introduce la fecha

Deja estas tareas a un profesional cualificado

  • No intentes esta tarea profesional: Enviar fechas tipadas o en ISO 8601
  • No intentes esta tarea profesional: Validar la fecha en la entrada

Lo que un técnico debe poder justificar

Viene un técnico

Estos son los pasos que tiene que hacer y enseñarte. Márcalos mientras trabaja: si se salta pasos, no aceptes el cambio de pieza.

No son instrucciones para que abras o manipules el equipo. Son las comprobaciones que deben sostener una conclusión técnica.

  1. Enviar fechas tipadas o en ISO 8601

    Qué haceEl desarrollador envía las fechas como parámetros del tipo correcto o como texto ISO 8601 desde la aplicación.

    Te tiene que enseñarla conversión aplicada.

    Por escritola prueba con fechas ambiguas como 01/02/2003.

  2. Validar la fecha en la entrada

    Qué haceEl equipo valida el formato antes de llegar a la base y muestra un mensaje claro.

    Te tiene que enseñarla validación.

    Por escritolos casos probados.

Antes de aceptar una pieza o reparación

Aún no ha demostrado nada. No aceptes un cambio de pieza solo por el código.

Sigue estos pasos

Aviso: Sigue el orden documentado. Un código identifica el sistema afectado, pero por sí solo no demuestra qué pieza está averiada.

  1. Valor exacto enviado

    Sin herramientas especiales

    Quién:
    tú, como desarrollador.
    Cómo:
    registra una copia anonimizada del texto que llegó al servidor y la columna o parámetro de destino; usa Position si el driver lo da.
    Resultado que importa:
    el formato real del valor.
    Si el formato no es ISO 8601:
    indica que depende de DateStyle; pasa a revisarlo.
    Si ya es ISO 8601 y falla:
    apunta a un valor imposible o mal construido en origen.
    Evidencia a conservar:
    valor anonimizado, tipo de destino y hora.

    Evidencia: PostgreSQL error and notice fields · PostgreSQL 18 date/time types

  2. DateStyle de la sesión

    Sin herramientas especiales

    Quién:
    tú, como desarrollador.
    Cómo:
    ejecuta SHOW DateStyle en la misma conexión que usa la aplicación.
    Resultado que importa:
    si el orden configurado coincide con el del valor enviado.
    Si no coincide:
    confirma la ambigüedad; envía ISO 8601 en lugar de cambiar el ajuste global.
    Si coincide:
    descarta el orden y revisa el formato del texto.
    Evidencia a conservar:
    salida del comando.

    Evidencia: PostgreSQL 18 date/time types · PostgreSQL 18 SHOW

  3. Lo que puede hacer quien introduce la fecha

    Sin herramientas especiales

    Quién:
    quien usa la aplicación.
    Cómo:
    revisa si la aplicación pide un formato concreto y escribe la fecha con él.
    Resultado que importa:
    si la fecha se acepta.
    Si se acepta:
    confirma un formato de entrada.
    Si no se acepta con el formato indicado:
    indica un fallo de la aplicación; avisa al soporte con la hora.
    Evidencia a conservar:
    captura del campo y del mensaje.

    Evidencia: PostgreSQL 18 date/time types

Situación no resuelta

Si el error persiste, no sigas probando por tu cuenta. Mira qué tiene que hacer y enseñarte el técnico.

Técnico virtual

¿Sigue apareciendo 22007 tras comprobarlo?

Este recorrido usa el código exacto y tus respuestas para elegir una prueba, su resultado esperado y la siguiente bifurcación.

Dónde se aplica este código

Un código solo tiene significado dentro del producto y la versión correctos.

Ámbito principal

Sistema
Software y sistemas
Marca
PostgreSQL
Tipo de producto
Base de datos

Variantes conocidas del código

  • invalid_datetime_format
  • PostgreSQL 22007
  • SQLSTATE 22007

Qué significa

El apéndice A asigna 22007 a invalid_datetime_format, en la clase 22 (excepción de datos). PostgreSQL acepta muchos formatos de fecha y hora, pero en algunos el orden de día, mes y año es ambiguo y depende del parámetro DateStyle de la sesión (MDY, DMY o YMD). La documentación recomienda ISO 8601 porque se interpreta igual en cualquier modo. Los literales de fecha van entre comillas simples. El código indica que el texto no encaja con un formato válido, no que la columna esté mal definida.

Advertencias y condiciones de parada

  • Seguroadvertencia editorial

    No cambies DateStyle en todo el servidor para que una aplicación funcione: cambia la interpretación de fechas ambiguas para todos los clientes.

    Evidencia: PostgreSQL 18 date/time types

Síntomas y causas

Causas probables · en orden

  • Formato que el analizador no reconoceFrecuente

    El texto trae separadores, nombres o partes que no corresponden a ningún formato aceptado. Falla con cualquier DateStyle.

    Evidencia: PostgreSQL 18 date/time types

  • Orden de campos distinto del DateStyle de la sesiónPosible

    La aplicación envía día y mes en un orden y la sesión espera otro. Se distingue porque el mismo valor funciona al cambiar DateStyle o al usar ISO 8601.

    Evidencia: PostgreSQL 18 date/time types

Fuentes y referencias técnicas

  1. 1

    PostgreSQL 18 Appendix A: Error Codes

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL error and notice fields

    PostgreSQL Global Development Group · 2026 · official_doc

Fuentes: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL error and notice fieldsrevisado 2026-10-03 · verificado

¿Te ha resultado útil esta ficha?