获取干支纪年的函数
干支纪年可通过年份计算得来(东汉以后)
drop function if exists getY2TGDZ(int);
create function getY2TGDZ(p_year int)
returns varchar(20) with (not variant);
define v_tg int;
define v_dz int;
-- 天干:mod(年份,10),前移3
let v_tg = mod(p_year,10)+7;
if v_tg > 10 then
let v_tg = v_tg - 10;
end if;
-- 地支:mod(年份,12),前移3
let v_dz = mod(p_year,12)+9;
if v_dz > 12 then
let v_dz = v_dz - 12;
end if;
return substr('甲乙丙丁戊己庚辛壬癸',v_tg,1) || substr('子丑寅卯辰巳午未申酉戌亥',v_dz,1);
end function;
示例:
select getY2TGDZ(2025) as tz from dual;
结果:
tz 乙巳
- 上一篇: mysql group by兼容写法FIRST_ROW
- 下一篇: 没有了