成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

sql server中如何計算農歷

瀏覽:266日期:2023-11-03 14:28:44

1、建一表,放初始化資料

因為農歷的日期,是由天文學家推算出來的,到現在只有到2049年的,以后的有了還可以加入! CREATE TABLE SolarData ( yearId int not null, data char(7) not null, dataInt int not null )

2、插入數據

INSERT INTO SolarData 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

3、創建函數

該函數用來讀取農歷日期

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=@solDataWHILE @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 , 沒閏傳回 0SET @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

4、調用方法

select dbo.fn_GetLunar(getdate()) 或 select dbo.fn_GetLunar('2004-4-13')

標簽: Sql Server 數據庫
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲国产wwwccc36天堂| 91成人免费在线视频| 日本乱码高清不卡字幕| 亚洲色图欧美激情| 99re这里只有精品首页| 91精品国产欧美一区二区18| 美女诱惑一区二区| 久久看片网站| 亚洲第一主播视频| 国产婷婷精品| 亚洲国产精品一区二区www | 成人v精品蜜桃久久一区| 欧美日韩不卡视频| 久久99国产精品久久| 欧美亚洲精品一区| 日本美女一区二区三区视频| 久久亚洲国产精品日日av夜夜| 亚洲午夜免费福利视频| 亚洲欧美日韩国产一区| 一区二区三区中文在线观看| 亚洲三级国产| 夜夜操天天操亚洲| 中国成人亚色综合网站| 伊人色综合久久天天| 99在线观看免费视频精品观看| 亚洲精品日日夜夜| 麻豆精品91| 亚洲欧洲日韩在线| 宅男噜噜噜66国产日韩在线观看| 五月开心婷婷久久| 在线亚洲免费视频| 国产一区二区在线视频| 欧美一区二区黄色| 不卡视频在线看| 亚洲国产精品av| 亚洲国产高清视频| 亚洲国产另类av| 在线视频综合导航| 国产在线一区二区| 欧美mv和日韩mv的网站| 99久久久久久| 国产精品女同一区二区三区| 狠狠干成人综合网| 亚洲在线视频网站| 91久久人澡人人添人人爽欧美| 免费欧美高清视频| 制服丝袜激情欧洲亚洲| 福利视频网站一区二区三区| 久久久亚洲午夜电影| 亚洲视频免费| 日韩精品久久久久久| 在线成人免费观看| 欧美日韩国产成人精品| 亚洲一区二区偷拍精品| 色综合久久久久久久久久久| 国产一区二区三区国产| 国产亚洲综合av| 国产日韩一区二区三区在线| 日韩国产高清影视| 日韩欧美亚洲国产另类| 国内成人在线| 日韩高清国产一区在线| 欧美一二三区精品| 国产精品v欧美精品v日本精品动漫| 一区二区三区在线视频观看| 欧美视频自拍偷拍| 色综合天天在线| 欧美另类视频| 亚洲精品中文在线观看| 欧美亚洲国产一区二区三区va | 欧美一区二视频| 香蕉av福利精品导航| 老司机精品视频网站| 成人激情小说乱人伦| 亚洲欧美一区二区三区久本道91| 色先锋aa成人| 成人一区二区三区视频在线观看 | 日韩三级视频中文字幕| 亚洲成色精品| 久久99热99| 国产亚洲欧洲997久久综合 | 国产亚洲精品免费| 性欧美精品高清| 粉嫩高潮美女一区二区三区| 亚洲色图视频网站| 欧美日韩国产欧美日美国产精品| 欧美a级片一区| 日产欧产美韩系列久久99| 久久这里只有精品首页| 免播放器亚洲| 99国产精品久| 日韩高清欧美激情| 中文字幕av免费专区久久| 色噜噜狠狠色综合欧洲selulu| 成人av电影观看| 午夜亚洲福利老司机| 久久久久久久久久久久久久久99| 免费永久网站黄欧美| av在线这里只有精品| 亚洲444eee在线观看| 26uuu亚洲综合色欧美| 久久一区二区三区av| 欧美精品七区| 国产乱子轮精品视频| 亚洲激情图片qvod| 精品国产免费一区二区三区四区 | 麻豆精品一区二区| 国产精品成人一区二区三区夜夜夜| 欧美性欧美巨大黑白大战| 欧美日韩综合| 国产乱码精品一区二区三区忘忧草| 亚洲三级理论片| 日韩视频免费观看高清在线视频| 亚洲欧美日韩国产| 欧美有码视频| 六月丁香婷婷久久| 国产蜜臀97一区二区三区| 欧美日韩视频专区在线播放| 精品不卡一区| 成人性生交大片| 丝袜亚洲精品中文字幕一区| 国产精品久久久久aaaa樱花| 日韩一级精品视频在线观看| 久久久天天操| 黄色一区三区| 94-欧美-setu| 国产成人高清视频| 青草av.久久免费一区| 怡红院av一区二区三区| 中文字幕免费观看一区| 日韩欧美电影在线| 欧美在线观看你懂的| 久久成人亚洲| 亚洲精品专区| 国语精品中文字幕| 成人免费视频一区| 久久精工是国产品牌吗| 亚洲国产精品麻豆| 亚洲欧洲99久久| 国产婷婷色一区二区三区四区| 欧美一级国产精品| 欧美视频中文字幕| 久久婷婷麻豆| 国产日韩一区| 亚洲国产二区| 欧美午夜不卡| 91伊人久久大香线蕉| 国产69精品久久777的优势| 精品综合久久久久久8888| 午夜精品在线看| 亚洲在线视频一区| 亚洲精品亚洲人成人网| 国产精品女主播在线观看| 久久久久久久久岛国免费| 精品久久久久久综合日本欧美| 欧美喷水一区二区| 欧美日韩一区成人| 欧美在线制服丝袜| 久久性天堂网| 日本久久电影网| 一本色道a无线码一区v| 免费在线亚洲欧美| 国产精品日本欧美一区二区三区| 伊人久久婷婷色综合98网| 狠狠色狠狠色综合日日tαg| 91麻豆国产香蕉久久精品| 成人sese在线| a美女胸又www黄视频久久| 成人黄色电影在线| 成人国产精品免费观看| 国产不卡在线播放| 久久99精品久久久久久| 精品制服美女丁香| 九九九久久久精品| 国产精品自拍在线| 国产精品一区在线观看你懂的| 韩国av一区二区| 国产精品综合一区二区| 国产91精品入口| 成人精品视频一区二区三区| 99久久久国产精品免费蜜臀| jizzjizzjizz欧美| 亚洲欧美综合国产精品一区| 欧美特黄a级高清免费大片a级| 一区精品久久| 国产精品综合色区在线观看| 国产精品久久久久久模特| 亚洲综合激情| 一本一本大道香蕉久在线精品 | 亚洲资源中文字幕| 亚洲午夜国产一区99re久久| 五月综合激情网| 另类小说视频一区二区| 国产麻豆精品久久一二三| 成人三级在线视频| 欧美福利视频| 好看的日韩av电影| 99精品福利视频| 久久久久久精| 欧美丰满一区二区免费视频|