成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_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国内精品久久久久久久
99r精品视频| 在线综合亚洲欧美在线视频| 欧美精品一二三四| 日本强好片久久久久久aaa| 亚洲在线观看| 亚洲同性同志一二三专区| 欧美视频在线观看| 日本一区二区高清| 欧美精品成人| 久久久久久久免费视频了| 丁香天五香天堂综合| 欧美一区二区二区| 成人黄色电影在线| 久久综合九色综合97婷婷女人| 不卡的av中国片| 久久亚洲一区二区三区四区| 91免费小视频| 国产精品私人影院| 影音先锋国产精品| 亚洲乱码精品一二三四区日韩在线| 亚洲午夜极品| 亚洲乱码国产乱码精品精98午夜| 中国成人在线视频| 亚洲小说春色综合另类电影| 国产精品永久| 日本视频一区二区三区| 精品视频一区二区不卡| 国产精品456| 久久亚洲春色中文字幕久久久| 欧美阿v一级看视频| 中文字幕在线不卡视频| 国产日韩欧美一区二区三区在线观看| 亚洲一区日韩精品中文字幕| 久久精品九九| 久久超碰97中文字幕| 日韩一区二区影院| 99久久婷婷国产综合精品| 国产精品欧美久久久久一区二区| 亚洲国内精品| 亚洲一区二区三区四区在线 | 国产最新精品免费| 日韩美女主播在线视频一区二区三区 | 亚洲作爱视频| 日韩成人精品在线观看| 7777精品伊人久久久大香线蕉的| 成人黄色免费短视频| 国产欧美一区二区精品婷婷| 91久久夜色精品国产九色| 亚洲综合视频在线| 欧美视频精品在线| 成人黄色软件下载| 亚洲色图视频网| 91福利资源站| 成人动漫一区二区三区| 最新久久zyz资源站| 一本一道久久a久久精品| 国产精品99久久久| 国产精品久久综合| 色综合久久天天| 国产91精品露脸国语对白| 国产精品乱人伦中文| 久久久久天天天天| 成人午夜在线播放| 中文字幕日本乱码精品影院| 色噜噜狠狠色综合欧洲selulu| 成人三级伦理片| 中文字幕亚洲成人| 欧美色男人天堂| 91麻豆123| 亚洲chinese男男1069| 欧美一卡二卡在线| 亚洲国产精品第一区二区| 蜜桃久久av一区| 久久九九久久九九| 快she精品国产999| 97久久精品人人做人人爽50路| 亚洲综合激情网| 欧美电影免费观看高清完整版在线 | 国内不卡的二区三区中文字幕| 宅男噜噜噜66一区二区66| 色综合久久综合网欧美综合网| 亚洲欧美aⅴ...| 欧美酷刑日本凌虐凌虐| 欧美日韩一区二区高清| 日韩激情一区二区| 欧美精品一区二区三| av成人黄色| 高清视频一区二区| 亚洲人亚洲人成电影网站色| 欧美日韩国产高清一区二区| 亚洲一级二级| 国产一区福利在线| 亚洲欧美激情小说另类| 在线播放欧美女士性生活| 亚洲日韩视频| 国产精品99久久久久久有的能看| 中文字幕亚洲在| 日韩一区二区中文字幕| 国产精品裸体一区二区三区| 国产suv精品一区二区三区| 亚洲一区二区视频在线观看| www激情久久| 在线一区二区三区四区五区| 黑人巨大精品欧美一区二区小视频 | 国产精品黄色在线观看| 欧美私人免费视频| 99热精品在线观看| 国产盗摄一区二区| 亚洲一区免费观看| 国产欧美日韩三区| 欧美日免费三级在线| 亚洲人成免费| 成a人片国产精品| 日韩成人伦理电影在线观看| 国产精品久久久久一区| 日韩一级高清毛片| 久久亚洲不卡| 最新日韩欧美| 99精品视频在线免费观看| 久久精品国产成人一区二区三区| 一区二区三区四区在线免费观看| 久久这里只有精品视频网| 色94色欧美sute亚洲线路二| 18成人免费观看视频| av亚洲精华国产精华精华| 日本欧美肥老太交大片| 亚洲日本电影在线| 国产亚洲一二三区| 欧美一区二区大片| 欧美亚洲高清一区二区三区不卡| 99精品国产在热久久婷婷| 色综合天天做天天爱| 国产高清精品在线| 久久99精品国产.久久久久| 午夜影视日本亚洲欧洲精品| 中文字幕日韩av资源站| 久久久久久**毛片大全| 欧美高清精品3d| 在线亚洲高清视频| 亚洲影院一区| 伊人久久亚洲热| 欧美日韩免费观看一区| av亚洲精华国产精华| 国产乱对白刺激视频不卡| 秋霞国产午夜精品免费视频| 亚洲成在人线在线播放| 亚洲人成网站色在线观看| 国产欧美精品一区| 久久综合一区二区| 精品欧美黑人一区二区三区| 911国产精品| 91 com成人网| 欧美日韩一区二区三区高清 | 国产 日韩 欧美大片| 韩国欧美国产1区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲在线免费播放| 亚洲激情一二三区| 亚洲少妇屁股交4| 国产精品国产精品国产专区不片| 久久亚洲二区三区| 久久午夜老司机| 久久久久久久久免费| 久久日韩精品一区二区五区| 日韩限制级电影在线观看| 欧美一级xxx| 日韩一区二区麻豆国产| 欧美一区日韩一区| 欧美精品在欧美一区二区少妇| 欧美日韩在线观看一区二区 | 亚洲天天做日日做天天谢日日欢| 国产精品久久久久久久久晋中 | 亚洲国产精品传媒在线观看| 日本一区二区三区视频视频| 久久久蜜桃精品| 久久综合色8888| 久久久亚洲高清| 国产欧美日韩激情| 国产精品久久久久婷婷二区次| 国产欧美一区二区精品久导航 | 色欧美乱欧美15图片| 在线一区二区三区做爰视频网站| 国产视频一区三区| 久久国产欧美| 欧美性色综合网| 91精品国产aⅴ一区二区| 欧美成人艳星乳罩| 久久亚洲精品国产精品紫薇| 国产欧美综合在线观看第十页| 国产精品乱码久久久久久| 综合色中文字幕| 亚洲国产精品自拍| 日韩综合在线视频| 精品一区二区三区视频在线观看| 久久99精品久久久久| 国产电影一区二区三区| 97se亚洲国产综合自在线| 亚洲午夜电影| 久久高清免费观看| 欧美日韩精品专区|