📅 Clase 047 - Tipos de Datos: Fecha y Hora

DATE, TIME, SECONDDATE y TIMESTAMP

🎯Función de los Tipos de Datos

Los tipos de datos indican al sistema qué tipo de información va a contener cada campo. Además de definir el contenido, crean reservas de espacio en memoria y establecen restricciones para evitar errores de conversión.

📊Tipos de Datos de Fecha y Hora

DATE

Año, mes y día

YYYY-MM-DD
TIME

Horas, minutos y segundos

HH24:MI:SS
SECONDDATE

Fecha + hora completa

YYYY-MM-DD HH24:MI:SS
TIMESTAMP

Fecha + hora + fracciones

YYYY-MM-DD HH24:MI:SS.FFFFFFF

📝Formatos de Inserción - DATE

Para insertar fechas, podemos usar varios formatos directamente:

Estándar:
'2024-12-29'
Con barras:
'2024/12/29'
Mixto:
'2024-12/29'
SAP (8 dígitos):
'20241229'
Ejemplo:
INSERT INTO tabla VALUES ('2024-12-29')
INSERT INTO tabla VALUES ('20241229')

🔄Función TO_DATE

Para formatos personalizados, utilizamos la función de conversión:

TO_DATE('fecha_string', 'máscara')
YYYY: 4 cifras del año
MM: 2 cifras del mes
DD: 2 cifras del día
MONTH: Nombre completo del mes
MON: 3 primeras letras del mes
RM: Mes en números romanos
DDD: Día del año (1-365)
Q: Trimestre del año
WW: Semana del año
Ejemplos:
TO_DATE('1950-Jun-05', 'YYYY-MON-DD')
TO_DATE('1949-VI-05', 'YYYY-RM-DD')
TO_DATE('1947-205', 'YYYY-DDD')

Tipo TIME y función TO_TIME

Para datos de hora, disponemos de varios formatos:

HH24: Formato 24 horas
HH12: Formato 12 horas
HH: Ambos formatos
MI: Minutos
SS: Segundos
AM/PM: Indicador horario
TO_TIME('09:05:07 AM', 'HH12:MI:SS AM')

🕐Funciones del Sistema

CURRENT_DATE

Fecha actual

CURRENT_TIME

Hora actual

CURRENT_TIMESTAMP

Fecha y hora actual

Uso:
SELECT CURRENT_DATE FROM DUMMY
SELECT CURRENT_TIMESTAMP FROM DUMMY

🎨Formateo de Salida - TO_CHAR

Para mostrar fechas con formato personalizado:

SELECT TO_CHAR(CURRENT_TIMESTAMP, 'máscara') FROM DUMMY
'D': Número del día de la semana
'DAY': Nombre completo del día
'DY': 3 primeras letras del día
'Q': Trimestre (1-4)
'W': Semana del mes
'WW': Semana del año

📋Rangos de Datos

Rangos disponibles:
DATE/TIME: Año 1 al 9999
SECONDDATE: Precisión hasta segundos
TIMESTAMP: Hasta 7 dígitos de fracción (FFN)

El tipo TIMESTAMP permite definir la precisión de fracciones de segundo con FFN, donde N es el número de dígitos decimales deseados.

📚Próximos Temas

En las siguientes clases continuaremos con:

  • Tipos numéricos (INTEGER, DECIMAL, FLOAT)
  • Tipos de texto (VARCHAR, NVARCHAR, CLOB)
  • Tipos especiales y otros tipos de datos