日韩精品免费一区二区三区_久久精品国产三级不卡_免费观看中文字幕_好男人社区神马在线观看www

注冊|登錄

聯系電話:024-31891684  13390130939
沈陽軟件公司--沈陽軟件定制

沈陽軟件開發_沈陽軟件公司_沈陽軟件定制/軟件/最新技術

Latest technology最新技術

SQL計算農歷

瀏覽量:2923

CRM定制,軟件開發,辦公OA,沈陽易勢科技是你的選擇

 

CREATE  TABLE  SolarData 

       yearId  int  not  null, 
       data  char(7)  not  null, 
       dataInt  int  not  null 

 

 
 

1、建一表,放初始化資料 
因為農歷的日期,是由天文學家推算出來的,到現在只有到2049年的,以后的有了還可以加入! 
CREATE  TABLE  SolarData 

       yearId  int  not  null, 
       data  char(7)  not  null, 
       dataInt  int  not  null 

 
--插入數據 
INSERT  INTO   
SolarDataa  SELECT  1900,'0x04bd8',19416  UNION  ALL  SELECT  1901,'0x04ae0',19168 
UNION  ALL  SELECT  1902,'0x0a570',42352  UNION  ALL  SELECT  1903,'0x054d5',21717 
UNION  ALL  SELECT  1904,'0x0d260',53856  UNION  ALL  SELECT  1905,'0x0d950',55632 
UNION  ALL  SELECT  1906,'0x16554',91476  UNION  ALL  SELECT  1907,'0x056a0',22176 
UNION  ALL  SELECT  1908,'0x09ad0',39632  UNION  ALL  SELECT  1909,'0x055d2',21970 
UNION  ALL  SELECT  1910,'0x04ae0',19168  UNION  ALL  SELECT  1911,'0x0a5b6',42422 
UNION  ALL  SELECT  1912,'0x0a4d0',42192  UNION  ALL  SELECT  1913,'0x0d250',53840 
UNION  ALL  SELECT  1914,'0x1d255',119381  UNION  ALL  SELECT  1915,'0x0b540',46400 
UNION  ALL  SELECT  1916,'0x0d6a0',54944  UNION  ALL  SELECT  1917,'0x0ada2',44450 
UNION  ALL  SELECT  1918,'0x095b0',38320  UNION  ALL  SELECT  1919,'0x14977',84343 
UNION  ALL  SELECT  1920,'0x04970',18800  UNION  ALL  SELECT  1921,'0x0a4b0',42160 
UNION  ALL  SELECT  1922,'0x0b4b5',46261  UNION  ALL  SELECT  1923,'0x06a50',27216 
UNION  ALL  SELECT  1924,'0x06d40',27968  UNION  ALL  SELECT  1925,'0x1ab54',109396 
UNION  ALL  SELECT  1926,'0x02b60',11104  UNION  ALL  SELECT  1927,'0x09570',38256 
UNION  ALL  SELECT  1928,'0x052f2',21234  UNION  ALL  SELECT  1929,'0x04970',18800 
UNION  ALL  SELECT  1930,'0x06566',25958  UNION  ALL  SELECT  1931,'0x0d4a0',54432 
UNION  ALL  SELECT  1932,'0x0ea50',59984  UNION  ALL  SELECT  1933,'0x06e95',28309 
UNION  ALL  SELECT  1934,'0x05ad0',23248  UNION  ALL  SELECT  1935,'0x02b60',11104 
UNION  ALL  SELECT  1936,'0x186e3',100067  UNION  ALL  SELECT  1937,'0x092e0',37600 
UNION  ALL  SELECT  1938,'0x1c8d7',116951  UNION  ALL  SELECT  1939,'0x0c950',51536 
UNION  ALL  SELECT  1940,'0x0d4a0',54432  UNION  ALL  SELECT  1941,'0x1d8a6',120998 
UNION  ALL  SELECT  1942,'0x0b550',46416  UNION  ALL  SELECT  1943,'0x056a0',22176 
UNION  ALL  SELECT  1944,'0x1a5b4',107956  UNION  ALL  SELECT  1945,'0x025d0',9680 
UNION  ALL  SELECT  1946,'0x092d0',37584  UNION  ALL  SELECT  1947,'0x0d2b2',53938 
UNION  ALL  SELECT  1948,'0x0a950',43344  UNION  ALL  SELECT  1949,'0x0b557',46423 
UNION  ALL  SELECT  1950,'0x06ca0',27808  UNION  ALL  SELECT  1951,'0x0b550',46416 
UNION  ALL  SELECT  1952,'0x15355',86869  UNION  ALL  SELECT  1953,'0x04da0',19872 
UNION  ALL  SELECT  1954,'0x0a5d0',42448  UNION  ALL  SELECT  1955,'0x14573',83315 
UNION  ALL  SELECT  1956,'0x052d0',21200  UNION  ALL  SELECT  1957,'0x0a9a8',43432 
UNION  ALL  SELECT  1958,'0x0e950',59728  UNION  ALL  SELECT  1959,'0x06aa0',27296 
UNION  ALL  SELECT  1960,'0x0aea6',44710  UNION  ALL  SELECT  1961,'0x0ab50',43856 
UNION  ALL  SELECT  1962,'0x04b60',19296  UNION  ALL  SELECT  1963,'0x0aae4',43748 
UNION  ALL  SELECT  1964,'0x0a570',42352  UNION  ALL  SELECT  1965,'0x05260',21088 
UNION  ALL  SELECT  1966,'0x0f263',62051  UNION  ALL  SELECT  1967,'0x0d950',55632 
UNION  ALL  SELECT  1968,'0x05b57',23383  UNION  ALL  SELECT  1969,'0x056a0',22176 
UNION  ALL  SELECT  1970,'0x096d0',38608  UNION  ALL  SELECT  1971,'0x04dd5',19925 
UNION  ALL  SELECT  1972,'0x04ad0',19152  UNION  ALL  SELECT  1973,'0x0a4d0',42192 
UNION  ALL  SELECT  1974,'0x0d4d4',54484  UNION  ALL  SELECT  1975,'0x0d250',53840 
UNION  ALL  SELECT  1976,'0x0d558',54616  UNION  ALL  SELECT  1977,'0x0b540',46400 
UNION  ALL  SELECT  1978,'0x0b5a0',46496  UNION  ALL  SELECT  1979,'0x195a6',103846 
UNION  ALL  SELECT  1980,'0x095b0',38320  UNION  ALL  SELECT  1981,'0x049b0',18864 
UNION  ALL  SELECT  1982,'0x0a974',43380  UNION  ALL  SELECT  1983,'0x0a4b0',42160 
UNION  ALL  SELECT  1984,'0x0b27a',45690  UNION  ALL  SELECT  1985,'0x06a50',27216 
UNION  ALL  SELECT  1986,'0x06d40',27968  UNION  ALL  SELECT  1987,'0x0af46',44870 
UNION  ALL  SELECT  1988,'0x0ab60',43872  UNION  ALL  SELECT  1989,'0x09570',38256 
UNION  ALL  SELECT  1990,'0x04af5',19189  UNION  ALL  SELECT  1991,'0x04970',18800 
UNION  ALL  SELECT  1992,'0x064b0',25776  UNION  ALL  SELECT  1993,'0x074a3',29859 
UNION  ALL  SELECT  1994,'0x0ea50',59984  UNION  ALL  SELECT  1995,'0x06b58',27480 
UNION  ALL  SELECT  1996,'0x055c0',21952  UNION  ALL  SELECT  1997,'0x0ab60',43872 
UNION  ALL  SELECT  1998,'0x096d5',38613  UNION  ALL  SELECT  1999,'0x092e0',37600 
UNION  ALL  SELECT  2000,'0x0c960',51552  UNION  ALL  SELECT  2001,'0x0d954',55636 
UNION  ALL  SELECT  2002,'0x0d4a0',54432  UNION  ALL  SELECT  2003,'0x0da50',55888 
UNION  ALL  SELECT  2004,'0x07552',30034  UNION  ALL  SELECT  2005,'0x056a0',22176 
UNION  ALL  SELECT  2006,'0x0abb7',43959  UNION  ALL  SELECT  2007,'0x025d0',9680 
UNION  ALL  SELECT  2008,'0x092d0',37584  UNION  ALL  SELECT  2009,'0x0cab5',51893 
UNION  ALL  SELECT  2010,'0x0a950',43344  UNION  ALL  SELECT  2011,'0x0b4a0',46240 
UNION  ALL  SELECT  2012,'0x0baa4',47780  UNION  ALL  SELECT  2013,'0x0ad50',44368 
UNION  ALL  SELECT  2014,'0x055d9',21977  UNION  ALL  SELECT  2015,'0x04ba0',19360 
UNION  ALL  SELECT  2016,'0x0a5b0',42416  UNION  ALL  SELECT  2017,'0x15176',86390 
UNION  ALL  SELECT  2018,'0x052b0',21168  UNION  ALL  SELECT  2019,'0x0a930',43312 
UNION  ALL  SELECT  2020,'0x07954',31060  UNION  ALL  SELECT  2021,'0x06aa0',27296 
UNION  ALL  SELECT  2022,'0x0ad50',44368  UNION  ALL  SELECT  2023,'0x05b52',23378 
UNION  ALL  SELECT  2024,'0x04b60',19296  UNION  ALL  SELECT  2025,'0x0a6e6',42726 
UNION  ALL  SELECT  2026,'0x0a4e0',42208  UNION  ALL  SELECT  2027,'0x0d260',53856 
UNION  ALL  SELECT  2028,'0x0ea65',60005  UNION  ALL  SELECT  2029,'0x0d530',54576 
UNION  ALL  SELECT  2030,'0x05aa0',23200  UNION  ALL  SELECT  2031,'0x076a3',30371 
UNION  ALL  SELECT  2032,'0x096d0',38608  UNION  ALL  SELECT  2033,'0x04bd7',19415 
UNION  ALL  SELECT  2034,'0x04ad0',19152  UNION  ALL  SELECT  2035,'0x0a4d0',42192 
UNION  ALL  SELECT  2036,'0x1d0b6',118966  UNION  ALL  SELECT  2037,'0x0d250',53840 
UNION  ALL  SELECT  2038,'0x0d520',54560  UNION  ALL  SELECT  2039,'0x0dd45',56645 
UNION  ALL  SELECT  2040,'0x0b5a0',46496  UNION  ALL  SELECT  2041,'0x056d0',22224 
UNION  ALL  SELECT  2042,'0x055b2',21938  UNION  ALL  SELECT  2043,'0x049b0',18864 
UNION  ALL  SELECT  2044,'0x0a577',42359  UNION  ALL  SELECT  2045,'0x0a4b0',42160 
UNION  ALL  SELECT  2046,'0x0aa50',43600  UNION  ALL  SELECT  2047,'0x1b255',111189 
UNION  ALL  SELECT  2048,'0x06d20',27936  UNION  ALL  SELECT  2049,'0x0ada0',44448 
 
--然后就可以用這個函數來取農歷日期了 
 
CREATE  FUNCTION  fn_GetLunar(@solarDay  DATETIME)         
RETURNS  datetime     
    
AS         
BEGIN         
   DECLARE  @solData  int         
   DECLARE  @offset  int         
   DECLARE  @iLunar  int         
   DECLARE  @i  INT           
   DECLARE  @j  INT           
   DECLARE  @yDays  int         
   DECLARE  @mDays  int         
   DECLARE  @mLeap  int         
   DECLARE  @mLeapNum  int         
   DECLARE  @bLeap  smallint         
   DECLARE  @temp  int         
        
   DECLARE  @YEAR  INT           
   DECLARE  @MONTH  INT         
   DECLARE  @DAY  INT         
            
   DECLARE  @OUTPUTDATE  DATETIME         
    
   --保證傳進來的日期是不帶時間         
   SET  @solarDay=cast(@solarDay  AS  char(10))         
   SET  @offset=CAST(@solarDay-'1900-01-30'  AS  INT)     
    
        
   --確定農歷年開始         
   SET  @i=1900         
   --SET  @offset=@solData         
   WHILE  @i<2050  AND  @offset>0         
   BEGIN         
       SET  @yDays=348         
       SET  @mLeapNum=0         
       SELECT  @iLunar=dataInt  FROM  SolarData  WHERE  yearId=@i         
        
       --傳回農歷年的總天數         
       SET  @j=32768         
       WHILE  @j>8         
       BEGIN         
           IF  @iLunar  &  @j  >0         
               SET  @yDays=@yDays+1         
           SET  @j=@j/2         
       END         
        
       --傳回農歷年閏哪個月  1-12  ,  沒閏傳回  0         
       SET  @mLeap  =  @iLunar  &  15         
        
       --傳回農歷年閏月的天數  ,加在年的總天數上         
       IF  @mLeap  >  0         
       BEGIN         
           IF  @iLunar  &  65536  >  0         
               SET  @mLeapNum=30         
           ELSE           
               SET  @mLeapNum=29         
        
           SET  @yDays=@yDays+@mLeapNum         
       END         
                
       SET  @offset=@offset-@yDays         
       SET  @i=@i+1         
   END         
            
   IF  @offset  <=  0         
   BEGIN         
       SET  @offset=@offset+@yDays         
       SET  @i=@i-1         
   END         
   --確定農歷年結束             
   SET  @YEAR=@i         
    
   --確定農歷月開始         
   SET  @i  =  1         
   SELECT  @iLunar=dataInt  FROM  SolarData  WHERE  yearId=@YEAR     
    
   --判斷那個月是潤月         
   SET  @mLeap  =  @iLunar  &  15         
   SET  @bLeap  =  0       
    
   WHILE  @i  <  13  AND  @offset  >  0         
   BEGIN         
       --判斷潤月         
       SET  @mDays=0         
       IF  (@mLeap  >  0  AND  @i  =  (@mLeap+1)  AND  @bLeap=0)         
       BEGIN--是潤月         
           SET  @i=@i-1         
           SET  @bLeap=1         
           --傳回農歷年閏月的天數         
           IF  @iLunar  &  65536  >  0         
               SET  @mDays  =  30         
           ELSE           
               SET  @mDays  =  29         
       END         
       ELSE         
       --不是潤月         
       BEGIN         
           SET  @j=1         
           SET  @temp  =  65536           
           WHILE  @j<=@i         
           BEGIN         
               SET  @temp=@temp/2         
               SET  @j=@j+1         
           END         
        
           IF  @iLunar  &  @temp  >  0         
               SET  @mDays  =  30         
           ELSE         
               SET  @mDays  =  29         
       END         
            
       --解除閏月     
       IF  @bLeap=1  AND  @i=  (@mLeap+1)     
           SET  @bLeap=0     
    
       SET  @offset=@offset-@mDays         
       SET  @i=@i+1         
   END         
        
   IF  @offset  <=  0         
   BEGIN         
       SET  @offset=@offset+@mDays         
       SET  @i=@i-1         
   END         
    
   --確定農歷月結束             
   SET  @MONTH=@i     
        
   --確定農歷日結束             
   SET  @DAY=@offset         
        
   SET  @OUTPUTDATE=CAST((CAST(@YEAR  AS  VARCHAR(4))+'-'+CAST(@MONTH  AS  VARCHAR(2))+'-'+CAST(@DAY  AS  VARCHAR(2)))  AS  DATETIME)         
   RETURN  @OUTPUTDATE     
END       
 
---------------------------------------------------------------------- 
--調用方法 
select  dbo.fn_GetLunar(getdate()) 
---------------------------------------------------------------------
已知問題:由于農歷每月只有29天或者30天,所以這個函數返回是一個日期型數據是不恰當的,嚴謹的應該返回字符型數據!

沈陽團購網|營口網站制作|沈陽軟件公司|軟件定制|網站建設|加盟易勢|提交問題

日韩精品免费一区二区三区_久久精品国产三级不卡_免费观看中文字幕_好男人社区神马在线观看www
欧美中文字幕在线观看| 久久免费视频观看| 精品成人一区二区| 尤物九九久久国产精品的分类| 欧美一区激情| 欧美欧美全黄| 伊人成人开心激情综合网| 久久精品国产视频| 欧美性片在线观看| 亚洲午夜av在线| 欧美承认网站| 国产视频在线观看一区二区三区 | 欧美精品日韩| 韩日午夜在线资源一区二区| 久久夜色撩人精品| 国产欧美日韩激情| 久久精品国产久精国产爱| 国产精品高精视频免费| 亚洲一区免费网站| 欧美日韩国产首页在线观看| 在线电影国产精品| 欧美理论在线| 亚洲一区二区三区乱码aⅴ| 欧美精品一区在线发布| 一区在线观看| 欧美精品系列| 亚洲免费综合| 国产精品jvid在线观看蜜臀| 亚洲欧美在线一区二区| 国产精品国产亚洲精品看不卡15| 欧美一区二区视频在线| 国产精品影音先锋| 久久亚洲高清| 一区免费观看| 欧美色图麻豆| 久久精品国产欧美亚洲人人爽| 国产区精品在线观看| 久久综合久久久久88| 伊人蜜桃色噜噜激情综合| 欧美激情一区在线| 亚洲影音一区| 国产精品一级| 欧美成人一品| 午夜精品久久久久久久蜜桃app| 国产精品久久久久久模特| 久久久久久久性| 在线观看日韩av电影| 欧美日韩一区二区三区免费看| 欧美亚洲在线观看| 国产一区二区三区无遮挡| 欧美激情五月| 欧美在线欧美在线| 很黄很黄激情成人| 国产精品啊啊啊| 久久手机免费观看| 亚洲一区二区免费看| 国产精品一区二区视频| 蜜桃av一区| 亚洲欧美在线一区| 国产日韩在线视频| 欧美精品一区二区三区在线播放| 性色av一区二区三区红粉影视| 国产日产欧产精品推荐色| 欧美激情一区二区三区| 欧美一区2区视频在线观看| 国产亚洲欧美一区在线观看| 欧美日本一区| 久久久久久有精品国产| 亚洲网站在线播放| 国产日韩精品一区| 欧美日韩一区二区三区免费 | 国产精品三级视频| 欧美激情一二三区| 久久人人爽人人爽| 性欧美暴力猛交69hd| 一区二区在线视频| 国产婷婷精品| 国产精品盗摄久久久| 欧美大色视频| 久久精品99无色码中文字幕| 在线亚洲自拍| 狠狠干狠狠久久| 国产日韩精品在线| 国产精品国产三级国产aⅴ9色| 美女视频网站黄色亚洲| 亚洲一区成人| 狠狠综合久久av一区二区老牛| 国产精品视频第一区| 欧美日韩亚洲91| 欧美激情国产精品| 久久在线91| 久久久久久97三级| 亚洲欧美精品一区| 在线看片第一页欧美| 国产午夜久久久久| 国产精品一区二区三区久久久| 欧美日韩国产综合在线| 欧美激情一二三区| 免费日韩av电影| 久久久夜色精品亚洲| 欧美在线视频一区二区三区| 亚洲欧美日韩一区二区在线| 在线精品在线| 国产精品99久久99久久久二8| 国产一区二区日韩精品欧美精品| 欧美午夜片在线观看| 欧美日韩视频专区在线播放 | 欧美精品亚洲| 欧美国产日韩一区二区在线观看| 噜噜噜91成人网| 久久综合中文色婷婷| 美国十次了思思久久精品导航| 久久精视频免费在线久久完整在线看| 欧美在线一二三| 久久国产精品久久久久久电车| 久久国产精彩视频| 久久久久国产一区二区三区四区 | 国产欧美日韩一区二区三区| 国产精品露脸自拍| 国产精品国产三级国产专播精品人 | 黄色亚洲大片免费在线观看| 精品动漫一区二区| 宅男噜噜噜66一区二区 | 国产精品v欧美精品v日韩| 欧美色精品天天在线观看视频| 国产精品igao视频网网址不卡日韩| 国产精品jizz在线观看美国| 国产精品一区免费视频| 国产欧美一级| 黄色成人在线网站| 亚洲无线观看| 欧美一区久久| 久久在线播放| 欧美日韩精品久久| 国产精品免费视频xxxx| 国产日韩av在线播放| 一区二区三区在线免费播放| 国产精品99久久久久久白浆小说| 亚洲欧美中日韩| 久久一区中文字幕| 欧美精品在线视频观看| 欧美午夜一区二区三区免费大片| 国产精品一区二区久激情瑜伽| 国产一区二区成人| 亚洲午夜精品17c| 久久九九国产精品| 欧美国产视频在线观看| 国产精品成人在线观看| 国产一区二区在线观看免费播放| 亚洲私人影院在线观看| 欧美一区日本一区韩国一区| 蜜臀久久99精品久久久久久9| 欧美日韩一区二区在线播放| 国产精品综合av一区二区国产馆| 激情校园亚洲| 欧美一级大片在线观看| 蜜臀a∨国产成人精品| 欧美午夜激情小视频| 国产日韩欧美一区二区三区四区| 伊人蜜桃色噜噜激情综合| 午夜视频在线观看一区| 免费看亚洲片| 国产精品日韩在线一区| 一色屋精品视频在线观看网站| 欧美一级在线播放| 欧美国产日韩视频| 国产精品青草久久久久福利99| 国产原创一区二区| 欧美影片第一页| 欧美久久电影| 国产亚洲一区二区三区在线播放 | 国产精品中文字幕欧美| 在线成人激情黄色| 久久免费国产| 欧美系列电影免费观看| 一区二区三区我不卡| 久久精品午夜| 欧美日韩在线播放一区二区| 狠狠久久亚洲欧美专区| 久久国内精品视频| 欧美日韩国产精品成人| 国产在线精品自拍| 久久成人国产| 国产精品sm| 亚洲欧美日韩国产中文在线| 欧美黄色成人网| 国产在线视频欧美| 久久精品视频亚洲| 国产精品magnet| 亚洲综合色在线| 欧美国产日韩亚洲一区| 国产自产女人91一区在线观看| 欧美在线电影| 国产精品爱久久久久久久| 亚洲午夜精品久久| 欧美精品在欧美一区二区少妇| 精品999久久久| 裸体女人亚洲精品一区| 国产精品有限公司| 欧美专区中文字幕|