试试下面这个sql
- -- 假设儒略日数为 45395.5930756713
- SET @julian_day = 45395.5930756713;
- -- 计算整数部分
- SET @date_part = FLOOR(@julian_day);
- -- 计算小数部分
- SET @time_part = @julian_day - @date_part;
- -- 转换整数部分为日期
- SET @date = DATE('1970-01-01') + INTERVAL (@date_part - 2440587.5) DAY;
- -- 计算小时、分钟和秒
- SET @hours = FLOOR(@time_part * 24);
- SET @minutes = FLOOR((@time_part * 24 - @hours) * 60);
- SET @seconds = FLOOR(((@time_part * 24 - @hours) * 60 - @minutes) * 60);
- -- 组合日期和时间
- SELECT CONCAT(
- @date,
- ' ',
- LPAD(@hours, 2, '0'),
- ':',
- LPAD(@minutes, 2, '0'),
- ':',
- LPAD(@seconds, 2, '0')
- ) AS datetime;
复制代码 |