CREATE OR REPLACE FUNCTION GET_ZODIAC(BIRTHDAY VARCHAR2)
/*
获取星座函数
*/
RETURN VARCHAR2
AS
RE_ZODIAC VARCHAR2(50);
ZODIAC_YY VARCHAR2(4);
BEGIN
ZODIAC_YY := SUBSTR(BIRTHDAY,1,4);
SELECT
CASE WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-03-21','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-04-20','YYYY-MM-DD')
THEN '白羊座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-04-21','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-05-20','YYYY-MM-DD')
THEN '金牛座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-05-21','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-06-21','YYYY-MM-DD')
THEN '双子座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-06-22','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-07-22','YYYY-MM-DD')
THEN '巨蟹座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-07-23','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-08-22','YYYY-MM-DD')
THEN '狮子座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-08-23','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-09-22','YYYY-MM-DD')
THEN '处女座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-09-23','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-10-22','YYYY-MM-DD')
THEN '天秤座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-10-23','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-11-21','YYYY-MM-DD')
THEN '天蝎座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-11-22','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-12-21','YYYY-MM-DD')
THEN '射手座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-12-22','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-01-19','YYYY-MM-DD')
THEN '摩羯座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-01-20','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-02-18','YYYY-MM-DD')
THEN '水瓶座'
WHEN TO_DATE(BIRTHDAY,'YYYY-MM-DD') BETWEEN TO_DATE(ZODIAC_YY||'-02-19','YYYY-MM-DD') AND TO_DATE(ZODIAC_YY||'-03-20','YYYY-MM-DD')
THEN '双鱼座'
ELSE NULL END INTO RE_ZODIAC
FROM DUAL;
RETURN RE_ZODIAC;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/
出生日期(公历) 星座名称 构成元素 颜色
03月21日─04月20日 白羊座 火 红
04月21日─05月20日 金牛座 土 绿
05月21日─06月21日 双子座 空气 黄
06月22日─07月22日 巨蟹座 水 白
07月23日─08月22日 狮子座 火 橙
08月23日─09月22日 处女座 土 灰
09月23日─10月22日 天秤座 空气 淡红
10月23日─11月21日 天蝎座 水 深红
11月22日─12月21日 射手座 火 紫红
12月22日─01月19日 摩羯座 土 黑
01月20日─02月18日 水瓶座 空气 黑
02月19日─03月20日 双鱼座 水 蓝