jueves, enero 10

Personalizar una Fecha en MySQL

Si preferimos personalizar una fecha desde MySQL, lo podriamos hacer de la siguiente manera, obviamente el tipo de campo debe ser DATETIME, para poder extraer la hora:

SELECT
EXTRACT(DAY FROM Tabla.Fecha ) as diaNumerico,
( CASE DAYOFWEEK(Tabla.Fecha)
WHEN 1 THEN "Domingo"
WHEN 2 THEN "Lunes"
WHEN 3 THEN "Martes"
WHEN 4 THEN "Miercoles"
WHEN 5 THEN "Jueves"
WHEN 6 THEN "Viernes"
WHEN 7 THEN "Sabado"
ELSE ""
END) as diaEnTexto,

( CASE MONTH(Tabla.Fecha)
WHEN 1 THEN "Enero"
WHEN 2 THEN "Febrero"
WHEN 3 THEN "Marzo"
WHEN 4 THEN "Abril"
WHEN 5 THEN "Mayo"
WHEN 6 THEN "Junio"
WHEN 7 THEN "Julio"
WHEN 8 THEN "Agosto"
WHEN 9 THEN "Septiembre"
WHEN 10 THEN "Octubre"
WHEN 11 THEN "Noviembre"
WHEN 12 THEN "Diciembre"
ELSE ""
END ) as mesEnTexto,
EXTRACT(YEAR FROM Tabla.Fecha ) as elAnio,
EXTRACT(HOUR FROM Tabla.Fecha ) as laHora,
EXTRACT(MINUTE FROM Tabla.Fecha ) as elMinuto,
publicacion_convocatoria.lugar_celebracion_actos as lugar_apertura_tecnica
FROM publicacion_convocatoria
WHERE
Tabla.id = ?

Ya estando en BIRT, formamos nuestra cadena a Mostrar, la cual quedaria mas o menos asi:

"La junta se llevara a cabo el dia "+dataSetRow["diaEnTexto"]+" "+dataSetRow["diaNumerico"]+ " de "+dataSetRow["mesEnTexto"]+" de "+dataSetRow["elAnio"]+" a las "+dataSetRow["laHora"]+":"+dataSetRow["elMinuto"]+" horas " + " en "+dataSetRow["lugar"]+"."

Mostrando algo asi como esto:

"La junta se llevara a cabo el dia Miercoles 18 de Septiembre de 2007 a las 18:00 horas en XLugar...

No hay comentarios: