文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL-计算生日所属的星座

SQL-计算生日所属的星座

时间:2011-03-04  来源:花语倾情

 

SELECT @NowDate = (CAST(MONTH(@Birthday) AS VARCHAR(10)) + CAST((CASE WHEN DAY(@Birthday) < 10  THEN '0' + CAST(DAY(@Birthday) AS VARCHAR(10)) ELSE CAST(DAY(@Birthday) AS VARCHAR(10)) END) AS VARCHAR(10)));
这个计算星座的方法,最麻烦的就是在前期的日期转换上,时间转好了,其它的就好办了,做数字区间的对比吧,就能得到你想要的星座了!

 

/*
星座     日期(公历)    英文名 

水瓶座 (1/20 - 2/18) Aquarius 
双鱼座 (2/19 - 3/20) Pisces 
牡羊座 (3/21 - 4/20) Aries 
金牛座 (4/21 - 5/20) Taurus 
双子座 (5/21 - 6/21) Gemini 
巨蟹座 (6/22 - 7/22) Cancer 
狮子座 (7/23 - 8/22) Leo 
处女座 (8/23 - 9/22) Virgo 
天秤座 (9/23 - 10/22) Libra 
天蝎座 (10/23 - 11/21) Scorpio 
射手座 (11/22 - 12/21) Sagittarius
*/

DECLARE @TABLE TABLE
(
        name_zh VARCHAR(128),
        name_en VARCHAR(128),
        s_time INT,
        o_time INT
);

DECLARE @NowDate INT;
DECLARE @Birthday DATETIME;

SET @Birthday = GETDATE();
SELECT @NowDate = (CAST(MONTH(@Birthday) AS VARCHAR(10)) + CAST((CASE WHEN DAY(@Birthday) < 10  THEN '0' + CAST(DAY(@Birthday) AS VARCHAR(10)) ELSE CAST(DAY(@Birthday) AS VARCHAR(10)) END) AS VARCHAR(10)));

INSERT INTO 
        @TABLE
VALUES
        ('魔羯座' ,'Capricorn' ,1222 ,119),
        ('水瓶座' ,'Aquarius' ,120 ,218),
        ('双鱼座' ,'Pisces' ,219 ,320),
        ('牡羊座' ,'Aries' ,321 ,420),
        ('金牛座' ,'Taurus' ,421 ,520),
        ('双子座' ,'Gemini' ,521 ,621),
        ('巨蟹座' ,'Cancer' ,622 ,722),
        ('狮子座' ,'Leo' ,723 ,822),
        ('处女座' ,'Virgo' ,823 ,922),
        ('天秤座' ,'Libra' ,923 ,1022),
        ('天蝎座' ,'Scorpio' ,1023 ,1121),
        ('射手座' ,'Sagittarius' ,1122 ,1221);
        
SELECT  
        name_zh,
        name_en,
        s_time,
        o_time
FROM 
        @TABLE 
WHERE 
        @NowDate BETWEEN s_time AND o_time;
这个方法没有过细的去验证,可能会存在Bug或者性能上的损失,以后有时间会在进一步改写!
相关阅读 更多 +
排行榜 更多 +
方块枪战战场安卓版

方块枪战战场安卓版

飞行射击 下载
战斗火力射击安卓版

战斗火力射击安卓版

飞行射击 下载
空中防御战安卓版

空中防御战安卓版

飞行射击 下载