Logo
You
Code

Fecha Juliana - Generacón en MySql

Autor YouCode - http://www.youcode.com.ar/mysql/fecha-juliana--generacon-en-mysql-522

Como generar una fecha Jualiana a partir de una Gregoriana en MySql

Alguna vez necesitamos generar una fecha Juliana a partir de una fecha o calendario Gregoriano.
Esta funcion en MySql 5.7 nos permite pasar una fecha gregoriana y nos retornara su fecha Juliana.

En mi caso, esta funcion (ya sabemos que la podemos usar cuando la necesitemos) la puse en un triger (inser , update)  asi antes de insertar o actualizar ya me calcula la fecha Juliana a partir de otro campo de la misma tabla.
 
CREATE DEFINER=`TU_USUARIO`@`LOCALHOST` FUNCTION `fx_crea_fecha_juliana`(p_FechaGregoriana DATE) RETURNS varchar(10) CHARSET latin1
    COMMENT 'Deveulve la fecha juliana a partir de una fecha gregoriana'
BEGIN


  DECLARE FechaJuliana varchar(10) DEFAULT '';
  DECLARE Letra char(1) DEFAULT '';  
  DECLARE J_Dia varchar(3) DEFAULT '000';
  DECLARE J_Mes int DEFAULT 0;
  DECLARE J_Anio varchar(3) DEFAULT '00';
  

  set J_Mes=MONTH(p_FechaGregoriana);
  set J_Anio=date_format(p_FechaGregoriana,'%y');
  set J_Dia=DAYOFYEAR(p_FechaGregoriana);

  
  set Letra=CASE WHEN J_Mes <=4 THEN 'X'
                 WHEN J_Mes BETWEEN 5 AND 8 THEN 'Y'
            ELSE 'Z' end;  

  set FechaJuliana=concat(Letra,J_Anio,elt(J_Mes,'0','0','0','0','','','','','','','',''),J_Dia);

  RETURN FechaJuliana;

END
Espero les sea útil.
http://www.youcode.com.ar/mysql/fecha-juliana--generacon-en-mysql-522