Author:水如烟
新的节假日加入了农历日期,这也是在保护发扬国粹吧。
农历如何制定的,估计大多数人是不懂的了,本人也是。
以下数据包括算法都来源于网络资源。
说明:
一、农历的基本数据有两套,第二套可以用到2100年。其中一二套1900-2049年部分,有些不相同。我默认选用第一套数据。
二、原来的代码将农历日期转为Datetime来处理,其实是不行的,因为农历二月可能有30天的。所以,我转为八位字符来处理。
三、输出的节日(节气)信息中,只含农历。若要包含公历节假日,打算在另一个函数中体现。
USE
[
master
]
GO
IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N ' LzmtwDb ' )
CREATE DATABASE [ LzmtwDb ]
GO
USE LzmtwDb
GO
IF NOT EXISTS ( SELECT * FROM sys.schemas WHERE name = N ' Chinese ' )
EXEC sys.sp_executesql N ' CREATE SCHEMA [Chinese] AUTHORIZATION [dbo] '
GO
IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N ' LzmtwDb ' )
CREATE DATABASE [ LzmtwDb ]
GO
USE LzmtwDb
GO
IF NOT EXISTS ( SELECT * FROM sys.schemas WHERE name = N ' Chinese ' )
EXEC sys.sp_executesql N ' CREATE SCHEMA [Chinese] AUTHORIZATION [dbo] '
GO
IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[LunisolarSolarTerm] ' ) AND type in (N ' U ' ))
BEGIN
CREATE TABLE [ Chinese ] . [ LunisolarSolarTerm ] (
[ ID ] [ smallint ] IDENTITY ( 1 , 1 ) NOT NULL ,
[ Name ] [ nchar ] ( 2 ) NOT NULL ,
[ Value ] [ int ] NULL
) ON [ PRIMARY ]
INSERT INTO [ Chinese ] . [ LunisolarSolarTerm ]
SELECT N ' 小寒 ' , 0 UNION ALL
SELECT N ' 大寒 ' , 21208 UNION ALL
SELECT N ' 立春 ' , 42467 UNION ALL
SELECT N ' 雨水 ' , 63836 UNION ALL
SELECT N ' 惊蛰 ' , 85337 UNION ALL
SELECT N ' 春分 ' , 107014 UNION ALL
SELECT N ' 清明 ' , 128867 UNION ALL
SELECT N ' 谷雨 ' , 150921 UNION ALL
SELECT N ' 立夏 ' , 173149 UNION ALL
SELECT N ' 小满 ' , 195551 UNION ALL
SELECT N ' 芒种 ' , 218072 UNION ALL
SELECT N ' 夏至 ' , 240693 UNION ALL
SELECT N ' 小暑 ' , 263343 UNION ALL
SELECT N ' 大暑 ' , 285989 UNION ALL
SELECT N ' 立秋 ' , 308563 UNION ALL
SELECT N ' 处暑 ' , 331033 UNION ALL
SELECT N ' 白露 ' , 353350 UNION ALL
SELECT N ' 秋分 ' , 375494 UNION ALL
SELECT N ' 寒露 ' , 397447 UNION ALL
SELECT N ' 霜降 ' , 419210 UNION ALL
SELECT N ' 立冬 ' , 440795 UNION ALL
SELECT N ' 小雪 ' , 462224 UNION ALL
SELECT N ' 大雪 ' , 483532 UNION ALL
SELECT N ' 冬至 ' , 504758
END
IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[LunisolarSolarTerm] ' ) AND type in (N ' U ' ))
BEGIN
CREATE TABLE [ Chinese ] . [ LunisolarSolarTerm ] (
[ ID ] [ smallint ] IDENTITY ( 1 , 1 ) NOT NULL ,
[ Name ] [ nchar ] ( 2 ) NOT NULL ,
[ Value ] [ int ] NULL
) ON [ PRIMARY ]
INSERT INTO [ Chinese ] . [ LunisolarSolarTerm ]
SELECT N ' 小寒 ' , 0 UNION ALL
SELECT N ' 大寒 ' , 21208 UNION ALL
SELECT N ' 立春 ' , 42467 UNION ALL
SELECT N ' 雨水 ' , 63836 UNION ALL
SELECT N ' 惊蛰 ' , 85337 UNION ALL
SELECT N ' 春分 ' , 107014 UNION ALL
SELECT N ' 清明 ' , 128867 UNION ALL
SELECT N ' 谷雨 ' , 150921 UNION ALL
SELECT N ' 立夏 ' , 173149 UNION ALL
SELECT N ' 小满 ' , 195551 UNION ALL
SELECT N ' 芒种 ' , 218072 UNION ALL
SELECT N ' 夏至 ' , 240693 UNION ALL
SELECT N ' 小暑 ' , 263343 UNION ALL
SELECT N ' 大暑 ' , 285989 UNION ALL
SELECT N ' 立秋 ' , 308563 UNION ALL
SELECT N ' 处暑 ' , 331033 UNION ALL
SELECT N ' 白露 ' , 353350 UNION ALL
SELECT N ' 秋分 ' , 375494 UNION ALL
SELECT N ' 寒露 ' , 397447 UNION ALL
SELECT N ' 霜降 ' , 419210 UNION ALL
SELECT N ' 立冬 ' , 440795 UNION ALL
SELECT N ' 小雪 ' , 462224 UNION ALL
SELECT N ' 大雪 ' , 483532 UNION ALL
SELECT N ' 冬至 ' , 504758
END
GO
IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[LunisolarDatas] ' ) AND type in (N ' U ' ))
BEGIN
CREATE TABLE [ Chinese ] . [ LunisolarDatas ] (
[ yearId ] [ int ] NOT NULL ,
[ data ] [ char ] ( 7 ) NULL ,
[ dataInt ] [ int ] NULL ,
[ Data1 ] [ varchar ] ( 7 ) NULL ,
[ DataInt1 ] [ int ] NULL
) ON [ PRIMARY ]
INSERT INTO [ Chinese ] . [ LunisolarDatas ]
SELECT 1900 , ' 0x04bd8 ' , 19416 , ' 0x4bd8 ' , 19416 UNION ALL
SELECT 1901 , ' 0x04ae0 ' , 19168 , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 1902 , ' 0x0a570 ' , 42352 , ' 0xa570 ' , 42352 UNION ALL
SELECT 1903 , ' 0x054d5 ' , 21717 , ' 0x54d5 ' , 21717 UNION ALL
SELECT 1904 , ' 0x0d260 ' , 53856 , ' 0xd260 ' , 53856 UNION ALL
SELECT 1905 , ' 0x0d950 ' , 55632 , ' 0xd950 ' , 55632 UNION ALL
SELECT 1906 , ' 0x16554 ' , 91476 , ' 0x5554 ' , 21844 UNION ALL
SELECT 1907 , ' 0x056a0 ' , 22176 , ' 0x56af ' , 22191 UNION ALL
SELECT 1908 , ' 0x09ad0 ' , 39632 , ' 0x9ad0 ' , 39632 UNION ALL
SELECT 1909 , ' 0x055d2 ' , 21970 , ' 0x55d2 ' , 21970 UNION ALL
SELECT 1910 , ' 0x04ae0 ' , 19168 , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 1911 , ' 0x0a5b6 ' , 42422 , ' 0xa5b6 ' , 42422 UNION ALL
SELECT 1912 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 1913 , ' 0x0d250 ' , 53840 , ' 0xd250 ' , 53840 UNION ALL
SELECT 1914 , ' 0x1d255 ' , 119381 , ' 0xd295 ' , 53909 UNION ALL
SELECT 1915 , ' 0x0b540 ' , 46400 , ' 0xb54f ' , 46415 UNION ALL
SELECT 1916 , ' 0x0d6a0 ' , 54944 , ' 0xd6a0 ' , 54944 UNION ALL
SELECT 1917 , ' 0x0ada2 ' , 44450 , ' 0xada2 ' , 44450 UNION ALL
SELECT 1918 , ' 0x095b0 ' , 38320 , ' 0x95b0 ' , 38320 UNION ALL
SELECT 1919 , ' 0x14977 ' , 84343 , ' 0x4977 ' , 18807 UNION ALL
SELECT 1920 , ' 0x04970 ' , 18800 , ' 0x497f ' , 18815 UNION ALL
SELECT 1921 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 1922 , ' 0x0b4b5 ' , 46261 , ' 0xb4b5 ' , 46261 UNION ALL
SELECT 1923 , ' 0x06a50 ' , 27216 , ' 0x6a50 ' , 27216 UNION ALL
SELECT 1924 , ' 0x06d40 ' , 27968 , ' 0x6d40 ' , 27968 UNION ALL
SELECT 1925 , ' 0x1ab54 ' , 109396 , ' 0xab54 ' , 43860 UNION ALL
SELECT 1926 , ' 0x02b60 ' , 11104 , ' 0x2b6f ' , 11119 UNION ALL
SELECT 1927 , ' 0x09570 ' , 38256 , ' 0x9570 ' , 38256 UNION ALL
SELECT 1928 , ' 0x052f2 ' , 21234 , ' 0x52f2 ' , 21234 UNION ALL
SELECT 1929 , ' 0x04970 ' , 18800 , ' 0x4970 ' , 18800 UNION ALL
SELECT 1930 , ' 0x06566 ' , 25958 , ' 0x6566 ' , 25958 UNION ALL
SELECT 1931 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 1932 , ' 0x0ea50 ' , 59984 , ' 0xea50 ' , 59984 UNION ALL
SELECT 1933 , ' 0x06e95 ' , 28309 , ' 0x6a95 ' , 27285 UNION ALL
SELECT 1934 , ' 0x05ad0 ' , 23248 , ' 0x5adf ' , 23263 UNION ALL
SELECT 1935 , ' 0x02b60 ' , 11104 , ' 0x2b60 ' , 11104 UNION ALL
SELECT 1936 , ' 0x186e3 ' , 100067 , ' 0x86e3 ' , 34531 UNION ALL
SELECT 1937 , ' 0x092e0 ' , 37600 , ' 0x92ef ' , 37615 UNION ALL
SELECT 1938 , ' 0x1c8d7 ' , 116951 , ' 0xc8d7 ' , 51415 UNION ALL
SELECT 1939 , ' 0x0c950 ' , 51536 , ' 0xc95f ' , 51551 UNION ALL
SELECT 1940 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 1941 , ' 0x1d8a6 ' , 120998 , ' 0xd8a6 ' , 55462 UNION ALL
SELECT 1942 , ' 0x0b550 ' , 46416 , ' 0xb55f ' , 46431 UNION ALL
SELECT 1943 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 1944 , ' 0x1a5b4 ' , 107956 , ' 0xa5b4 ' , 42420 UNION ALL
SELECT 1945 , ' 0x025d0 ' , 9680 , ' 0x25df ' , 9695 UNION ALL
SELECT 1946 , ' 0x092d0 ' , 37584 , ' 0x92d0 ' , 37584 UNION ALL
SELECT 1947 , ' 0x0d2b2 ' , 53938 , ' 0xd2b2 ' , 53938 UNION ALL
SELECT 1948 , ' 0x0a950 ' , 43344 , ' 0xa950 ' , 43344 UNION ALL
SELECT 1949 , ' 0x0b557 ' , 46423 , ' 0xb557 ' , 46423 UNION ALL
SELECT 1950 , ' 0x06ca0 ' , 27808 , ' 0x6ca0 ' , 27808 UNION ALL
SELECT 1951 , ' 0x0b550 ' , 46416 , ' 0xb550 ' , 46416 UNION ALL
SELECT 1952 , ' 0x15355 ' , 86869 , ' 0x5355 ' , 21333 UNION ALL
SELECT 1953 , ' 0x04da0 ' , 19872 , ' 0x4daf ' , 19887 UNION ALL
SELECT 1954 , ' 0x0a5d0 ' , 42448 , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 1955 , ' 0x14573 ' , 83315 , ' 0x4573 ' , 17779 UNION ALL
SELECT 1956 , ' 0x052d0 ' , 21200 , ' 0x52bf ' , 21183 UNION ALL
SELECT 1957 , ' 0x0a9a8 ' , 43432 , ' 0xa9a8 ' , 43432 UNION ALL
SELECT 1958 , ' 0x0e950 ' , 59728 , ' 0xe950 ' , 59728 UNION ALL
SELECT 1959 , ' 0x06aa0 ' , 27296 , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 1960 , ' 0x0aea6 ' , 44710 , ' 0xaea6 ' , 44710 UNION ALL
SELECT 1961 , ' 0x0ab50 ' , 43856 , ' 0xab50 ' , 43856 UNION ALL
SELECT 1962 , ' 0x04b60 ' , 19296 , ' 0x4b60 ' , 19296 UNION ALL
SELECT 1963 , ' 0x0aae4 ' , 43748 , ' 0xaae4 ' , 43748 UNION ALL
SELECT 1964 , ' 0x0a570 ' , 42352 , ' 0xa570 ' , 42352 UNION ALL
SELECT 1965 , ' 0x05260 ' , 21088 , ' 0x5260 ' , 21088 UNION ALL
SELECT 1966 , ' 0x0f263 ' , 62051 , ' 0xf263 ' , 62051 UNION ALL
SELECT 1967 , ' 0x0d950 ' , 55632 , ' 0xd950 ' , 55632 UNION ALL
SELECT 1968 , ' 0x05b57 ' , 23383 , ' 0x5b57 ' , 23383 UNION ALL
SELECT 1969 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 1970 , ' 0x096d0 ' , 38608 , ' 0x96d0 ' , 38608 UNION ALL
SELECT 1971 , ' 0x04dd5 ' , 19925 , ' 0x4dd5 ' , 19925 UNION ALL
SELECT 1972 , ' 0x04ad0 ' , 19152 , ' 0x4ad0 ' , 19152 UNION ALL
SELECT 1973 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 1974 , ' 0x0d4d4 ' , 54484 , ' 0xd4d4 ' , 54484 UNION ALL
SELECT 1975 , ' 0x0d250 ' , 53840 , ' 0xd250 ' , 53840 UNION ALL
SELECT 1976 , ' 0x0d558 ' , 54616 , ' 0xd558 ' , 54616 UNION ALL
SELECT 1977 , ' 0x0b540 ' , 46400 , ' 0xb540 ' , 46400 UNION ALL
SELECT 1978 , ' 0x0b5a0 ' , 46496 , ' 0xb6a0 ' , 46752 UNION ALL
SELECT 1979 , ' 0x195a6 ' , 103846 , ' 0x95a6 ' , 38310 UNION ALL
SELECT 1980 , ' 0x095b0 ' , 38320 , ' 0x95bf ' , 38335 UNION ALL
SELECT 1981 , ' 0x049b0 ' , 18864 , ' 0x49b0 ' , 18864 UNION ALL
SELECT 1982 , ' 0x0a974 ' , 43380 , ' 0xa974 ' , 43380 UNION ALL
SELECT 1983 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 1984 , ' 0x0b27a ' , 45690 , ' 0xb27a ' , 45690 UNION ALL
SELECT 1985 , ' 0x06a50 ' , 27216 , ' 0x6a50 ' , 27216 UNION ALL
SELECT 1986 , ' 0x06d40 ' , 27968 , ' 0x6d40 ' , 27968 UNION ALL
SELECT 1987 , ' 0x0af46 ' , 44870 , ' 0xaf46 ' , 44870 UNION ALL
SELECT 1988 , ' 0x0ab60 ' , 43872 , ' 0xab60 ' , 43872 UNION ALL
SELECT 1989 , ' 0x09570 ' , 38256 , ' 0x9570 ' , 38256 UNION ALL
SELECT 1990 , ' 0x04af5 ' , 19189 , ' 0x4af5 ' , 19189 UNION ALL
SELECT 1991 , ' 0x04970 ' , 18800 , ' 0x4970 ' , 18800 UNION ALL
SELECT 1992 , ' 0x064b0 ' , 25776 , ' 0x64b0 ' , 25776 UNION ALL
SELECT 1993 , ' 0x074a3 ' , 29859 , ' 0x74a3 ' , 29859 UNION ALL
SELECT 1994 , ' 0x0ea50 ' , 59984 , ' 0xea50 ' , 59984 UNION ALL
SELECT 1995 , ' 0x06b58 ' , 27480 , ' 0x6b58 ' , 27480 UNION ALL
SELECT 1996 , ' 0x055c0 ' , 21952 , ' 0x5ac0 ' , 23232 UNION ALL
SELECT 1997 , ' 0x0ab60 ' , 43872 , ' 0xab60 ' , 43872 UNION ALL
SELECT 1998 , ' 0x096d5 ' , 38613 , ' 0x96d5 ' , 38613 UNION ALL
SELECT 1999 , ' 0x092e0 ' , 37600 , ' 0x92e0 ' , 37600 UNION ALL
SELECT 2000 , ' 0x0c960 ' , 51552 , ' 0xc960 ' , 51552 UNION ALL
SELECT 2001 , ' 0x0d954 ' , 55636 , ' 0xd954 ' , 55636 UNION ALL
SELECT 2002 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 2003 , ' 0x0da50 ' , 55888 , ' 0xda50 ' , 55888 UNION ALL
SELECT 2004 , ' 0x07552 ' , 30034 , ' 0x7552 ' , 30034 UNION ALL
SELECT 2005 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 2006 , ' 0x0abb7 ' , 43959 , ' 0xabb7 ' , 43959 UNION ALL
SELECT 2007 , ' 0x025d0 ' , 9680 , ' 0x25d0 ' , 9680 UNION ALL
SELECT 2008 , ' 0x092d0 ' , 37584 , ' 0x92d0 ' , 37584 UNION ALL
SELECT 2009 , ' 0x0cab5 ' , 51893 , ' 0xcab5 ' , 51893 UNION ALL
SELECT 2010 , ' 0x0a950 ' , 43344 , ' 0xa950 ' , 43344 UNION ALL
SELECT 2011 , ' 0x0b4a0 ' , 46240 , ' 0xb4a0 ' , 46240 UNION ALL
SELECT 2012 , ' 0x0baa4 ' , 47780 , ' 0xbaa4 ' , 47780 UNION ALL
SELECT 2013 , ' 0x0ad50 ' , 44368 , ' 0xad50 ' , 44368 UNION ALL
SELECT 2014 , ' 0x055d9 ' , 21977 , ' 0x55d9 ' , 21977 UNION ALL
SELECT 2015 , ' 0x04ba0 ' , 19360 , ' 0x4ba0 ' , 19360 UNION ALL
SELECT 2016 , ' 0x0a5b0 ' , 42416 , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 2017 , ' 0x15176 ' , 86390 , ' 0x5176 ' , 20854 UNION ALL
SELECT 2018 , ' 0x052b0 ' , 21168 , ' 0x52bf ' , 21183 UNION ALL
SELECT 2019 , ' 0x0a930 ' , 43312 , ' 0xa930 ' , 43312 UNION ALL
SELECT 2020 , ' 0x07954 ' , 31060 , ' 0x7954 ' , 31060 UNION ALL
SELECT 2021 , ' 0x06aa0 ' , 27296 , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 2022 , ' 0x0ad50 ' , 44368 , ' 0xad50 ' , 44368 UNION ALL
SELECT 2023 , ' 0x05b52 ' , 23378 , ' 0x5b52 ' , 23378 UNION ALL
SELECT 2024 , ' 0x04b60 ' , 19296 , ' 0x4b60 ' , 19296 UNION ALL
SELECT 2025 , ' 0x0a6e6 ' , 42726 , ' 0xa6e6 ' , 42726 UNION ALL
SELECT 2026 , ' 0x0a4e0 ' , 42208 , ' 0xa4e0 ' , 42208 UNION ALL
SELECT 2027 , ' 0x0d260 ' , 53856 , ' 0xd260 ' , 53856 UNION ALL
SELECT 2028 , ' 0x0ea65 ' , 60005 , ' 0xea65 ' , 60005 UNION ALL
SELECT 2029 , ' 0x0d530 ' , 54576 , ' 0xd530 ' , 54576 UNION ALL
SELECT 2030 , ' 0x05aa0 ' , 23200 , ' 0x5aa0 ' , 23200 UNION ALL
SELECT 2031 , ' 0x076a3 ' , 30371 , ' 0x76a3 ' , 30371 UNION ALL
SELECT 2032 , ' 0x096d0 ' , 38608 , ' 0x96d0 ' , 38608 UNION ALL
SELECT 2033 , ' 0x04bd7 ' , 19415 , ' 0x4afb ' , 19195 UNION ALL
SELECT 2034 , ' 0x04ad0 ' , 19152 , ' 0x4ad0 ' , 19152 UNION ALL
SELECT 2035 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 2036 , ' 0x1d0b6 ' , 118966 , ' 0xd0b6 ' , 53430 UNION ALL
SELECT 2037 , ' 0x0d250 ' , 53840 , ' 0xd25f ' , 53855 UNION ALL
SELECT 2038 , ' 0x0d520 ' , 54560 , ' 0xd520 ' , 54560 UNION ALL
SELECT 2039 , ' 0x0dd45 ' , 56645 , ' 0xdd45 ' , 56645 UNION ALL
SELECT 2040 , ' 0x0b5a0 ' , 46496 , ' 0xb5a0 ' , 46496 UNION ALL
SELECT 2041 , ' 0x056d0 ' , 22224 , ' 0x56d0 ' , 22224 UNION ALL
SELECT 2042 , ' 0x055b2 ' , 21938 , ' 0x55b2 ' , 21938 UNION ALL
SELECT 2043 , ' 0x049b0 ' , 18864 , ' 0x49b0 ' , 18864 UNION ALL
SELECT 2044 , ' 0x0a577 ' , 42359 , ' 0xa577 ' , 42359 UNION ALL
SELECT 2045 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 2046 , ' 0x0aa50 ' , 43600 , ' 0xaa50 ' , 43600 UNION ALL
SELECT 2047 , ' 0x1b255 ' , 111189 , ' 0xb255 ' , 45653 UNION ALL
SELECT 2048 , ' 0x06d20 ' , 27936 , ' 0x6d2f ' , 27951 UNION ALL
SELECT 2049 , ' 0x0ada0 ' , 44448 , ' 0xada0 ' , 44448 UNION ALL
SELECT 2050 , ' 0x04b63 ' , 19299 , ' 0x4b63 ' , 19299 UNION ALL
SELECT 2051 , NULL , NULL , ' 0x937f ' , 37759 UNION ALL
SELECT 2052 , NULL , NULL , ' 0x49f8 ' , 18936 UNION ALL
SELECT 2053 , NULL , NULL , ' 0x4970 ' , 18800 UNION ALL
SELECT 2054 , NULL , NULL , ' 0x64b0 ' , 25776 UNION ALL
SELECT 2055 , NULL , NULL , ' 0x68a6 ' , 26790 UNION ALL
SELECT 2056 , NULL , NULL , ' 0xea5f ' , 59999 UNION ALL
SELECT 2057 , NULL , NULL , ' 0x6b20 ' , 27424 UNION ALL
SELECT 2058 , NULL , NULL , ' 0xa6c4 ' , 42692 UNION ALL
SELECT 2059 , NULL , NULL , ' 0xaaef ' , 43759 UNION ALL
SELECT 2060 , NULL , NULL , ' 0x92e0 ' , 37600 UNION ALL
SELECT 2061 , NULL , NULL , ' 0xd2e3 ' , 53987 UNION ALL
SELECT 2062 , NULL , NULL , ' 0xc960 ' , 51552 UNION ALL
SELECT 2063 , NULL , NULL , ' 0xd557 ' , 54615 UNION ALL
SELECT 2064 , NULL , NULL , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 2065 , NULL , NULL , ' 0xda50 ' , 55888 UNION ALL
SELECT 2066 , NULL , NULL , ' 0x5d55 ' , 23893 UNION ALL
SELECT 2067 , NULL , NULL , ' 0x56a0 ' , 22176 UNION ALL
SELECT 2068 , NULL , NULL , ' 0xa6d0 ' , 42704 UNION ALL
SELECT 2069 , NULL , NULL , ' 0x55d4 ' , 21972 UNION ALL
SELECT 2070 , NULL , NULL , ' 0x52d0 ' , 21200 UNION ALL
SELECT 2071 , NULL , NULL , ' 0xa9b8 ' , 43448 UNION ALL
SELECT 2072 , NULL , NULL , ' 0xa950 ' , 43344 UNION ALL
SELECT 2073 , NULL , NULL , ' 0xb4a0 ' , 46240 UNION ALL
SELECT 2074 , NULL , NULL , ' 0xb6a6 ' , 46758 UNION ALL
SELECT 2075 , NULL , NULL , ' 0xad50 ' , 44368 UNION ALL
SELECT 2076 , NULL , NULL , ' 0x55a0 ' , 21920 UNION ALL
SELECT 2077 , NULL , NULL , ' 0xaba4 ' , 43940 UNION ALL
SELECT 2078 , NULL , NULL , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 2079 , NULL , NULL , ' 0x52b0 ' , 21168 UNION ALL
SELECT 2080 , NULL , NULL , ' 0xb273 ' , 45683 UNION ALL
SELECT 2081 , NULL , NULL , ' 0x6930 ' , 26928 UNION ALL
SELECT 2082 , NULL , NULL , ' 0x7337 ' , 29495 UNION ALL
SELECT 2083 , NULL , NULL , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 2084 , NULL , NULL , ' 0xad50 ' , 44368 UNION ALL
SELECT 2085 , NULL , NULL , ' 0x4b55 ' , 19285 UNION ALL
SELECT 2086 , NULL , NULL , ' 0x4b6f ' , 19311 UNION ALL
SELECT 2087 , NULL , NULL , ' 0xa570 ' , 42352 UNION ALL
SELECT 2088 , NULL , NULL , ' 0x54e4 ' , 21732 UNION ALL
SELECT 2089 , NULL , NULL , ' 0xd260 ' , 53856 UNION ALL
SELECT 2090 , NULL , NULL , ' 0xe968 ' , 59752 UNION ALL
SELECT 2091 , NULL , NULL , ' 0xd520 ' , 54560 UNION ALL
SELECT 2092 , NULL , NULL , ' 0xdaa0 ' , 55968 UNION ALL
SELECT 2093 , NULL , NULL , ' 0x6aa6 ' , 27302 UNION ALL
SELECT 2094 , NULL , NULL , ' 0x56df ' , 22239 UNION ALL
SELECT 2095 , NULL , NULL , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 2096 , NULL , NULL , ' 0xa9d4 ' , 43476 UNION ALL
SELECT 2097 , NULL , NULL , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 2098 , NULL , NULL , ' 0xd150 ' , 53584 UNION ALL
SELECT 2099 , NULL , NULL , ' 0xf252 ' , 62034 UNION ALL
SELECT 2100 , NULL , NULL , ' 0xd520 ' , 54560
END
IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[LunisolarDatas] ' ) AND type in (N ' U ' ))
BEGIN
CREATE TABLE [ Chinese ] . [ LunisolarDatas ] (
[ yearId ] [ int ] NOT NULL ,
[ data ] [ char ] ( 7 ) NULL ,
[ dataInt ] [ int ] NULL ,
[ Data1 ] [ varchar ] ( 7 ) NULL ,
[ DataInt1 ] [ int ] NULL
) ON [ PRIMARY ]
INSERT INTO [ Chinese ] . [ LunisolarDatas ]
SELECT 1900 , ' 0x04bd8 ' , 19416 , ' 0x4bd8 ' , 19416 UNION ALL
SELECT 1901 , ' 0x04ae0 ' , 19168 , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 1902 , ' 0x0a570 ' , 42352 , ' 0xa570 ' , 42352 UNION ALL
SELECT 1903 , ' 0x054d5 ' , 21717 , ' 0x54d5 ' , 21717 UNION ALL
SELECT 1904 , ' 0x0d260 ' , 53856 , ' 0xd260 ' , 53856 UNION ALL
SELECT 1905 , ' 0x0d950 ' , 55632 , ' 0xd950 ' , 55632 UNION ALL
SELECT 1906 , ' 0x16554 ' , 91476 , ' 0x5554 ' , 21844 UNION ALL
SELECT 1907 , ' 0x056a0 ' , 22176 , ' 0x56af ' , 22191 UNION ALL
SELECT 1908 , ' 0x09ad0 ' , 39632 , ' 0x9ad0 ' , 39632 UNION ALL
SELECT 1909 , ' 0x055d2 ' , 21970 , ' 0x55d2 ' , 21970 UNION ALL
SELECT 1910 , ' 0x04ae0 ' , 19168 , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 1911 , ' 0x0a5b6 ' , 42422 , ' 0xa5b6 ' , 42422 UNION ALL
SELECT 1912 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 1913 , ' 0x0d250 ' , 53840 , ' 0xd250 ' , 53840 UNION ALL
SELECT 1914 , ' 0x1d255 ' , 119381 , ' 0xd295 ' , 53909 UNION ALL
SELECT 1915 , ' 0x0b540 ' , 46400 , ' 0xb54f ' , 46415 UNION ALL
SELECT 1916 , ' 0x0d6a0 ' , 54944 , ' 0xd6a0 ' , 54944 UNION ALL
SELECT 1917 , ' 0x0ada2 ' , 44450 , ' 0xada2 ' , 44450 UNION ALL
SELECT 1918 , ' 0x095b0 ' , 38320 , ' 0x95b0 ' , 38320 UNION ALL
SELECT 1919 , ' 0x14977 ' , 84343 , ' 0x4977 ' , 18807 UNION ALL
SELECT 1920 , ' 0x04970 ' , 18800 , ' 0x497f ' , 18815 UNION ALL
SELECT 1921 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 1922 , ' 0x0b4b5 ' , 46261 , ' 0xb4b5 ' , 46261 UNION ALL
SELECT 1923 , ' 0x06a50 ' , 27216 , ' 0x6a50 ' , 27216 UNION ALL
SELECT 1924 , ' 0x06d40 ' , 27968 , ' 0x6d40 ' , 27968 UNION ALL
SELECT 1925 , ' 0x1ab54 ' , 109396 , ' 0xab54 ' , 43860 UNION ALL
SELECT 1926 , ' 0x02b60 ' , 11104 , ' 0x2b6f ' , 11119 UNION ALL
SELECT 1927 , ' 0x09570 ' , 38256 , ' 0x9570 ' , 38256 UNION ALL
SELECT 1928 , ' 0x052f2 ' , 21234 , ' 0x52f2 ' , 21234 UNION ALL
SELECT 1929 , ' 0x04970 ' , 18800 , ' 0x4970 ' , 18800 UNION ALL
SELECT 1930 , ' 0x06566 ' , 25958 , ' 0x6566 ' , 25958 UNION ALL
SELECT 1931 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 1932 , ' 0x0ea50 ' , 59984 , ' 0xea50 ' , 59984 UNION ALL
SELECT 1933 , ' 0x06e95 ' , 28309 , ' 0x6a95 ' , 27285 UNION ALL
SELECT 1934 , ' 0x05ad0 ' , 23248 , ' 0x5adf ' , 23263 UNION ALL
SELECT 1935 , ' 0x02b60 ' , 11104 , ' 0x2b60 ' , 11104 UNION ALL
SELECT 1936 , ' 0x186e3 ' , 100067 , ' 0x86e3 ' , 34531 UNION ALL
SELECT 1937 , ' 0x092e0 ' , 37600 , ' 0x92ef ' , 37615 UNION ALL
SELECT 1938 , ' 0x1c8d7 ' , 116951 , ' 0xc8d7 ' , 51415 UNION ALL
SELECT 1939 , ' 0x0c950 ' , 51536 , ' 0xc95f ' , 51551 UNION ALL
SELECT 1940 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 1941 , ' 0x1d8a6 ' , 120998 , ' 0xd8a6 ' , 55462 UNION ALL
SELECT 1942 , ' 0x0b550 ' , 46416 , ' 0xb55f ' , 46431 UNION ALL
SELECT 1943 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 1944 , ' 0x1a5b4 ' , 107956 , ' 0xa5b4 ' , 42420 UNION ALL
SELECT 1945 , ' 0x025d0 ' , 9680 , ' 0x25df ' , 9695 UNION ALL
SELECT 1946 , ' 0x092d0 ' , 37584 , ' 0x92d0 ' , 37584 UNION ALL
SELECT 1947 , ' 0x0d2b2 ' , 53938 , ' 0xd2b2 ' , 53938 UNION ALL
SELECT 1948 , ' 0x0a950 ' , 43344 , ' 0xa950 ' , 43344 UNION ALL
SELECT 1949 , ' 0x0b557 ' , 46423 , ' 0xb557 ' , 46423 UNION ALL
SELECT 1950 , ' 0x06ca0 ' , 27808 , ' 0x6ca0 ' , 27808 UNION ALL
SELECT 1951 , ' 0x0b550 ' , 46416 , ' 0xb550 ' , 46416 UNION ALL
SELECT 1952 , ' 0x15355 ' , 86869 , ' 0x5355 ' , 21333 UNION ALL
SELECT 1953 , ' 0x04da0 ' , 19872 , ' 0x4daf ' , 19887 UNION ALL
SELECT 1954 , ' 0x0a5d0 ' , 42448 , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 1955 , ' 0x14573 ' , 83315 , ' 0x4573 ' , 17779 UNION ALL
SELECT 1956 , ' 0x052d0 ' , 21200 , ' 0x52bf ' , 21183 UNION ALL
SELECT 1957 , ' 0x0a9a8 ' , 43432 , ' 0xa9a8 ' , 43432 UNION ALL
SELECT 1958 , ' 0x0e950 ' , 59728 , ' 0xe950 ' , 59728 UNION ALL
SELECT 1959 , ' 0x06aa0 ' , 27296 , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 1960 , ' 0x0aea6 ' , 44710 , ' 0xaea6 ' , 44710 UNION ALL
SELECT 1961 , ' 0x0ab50 ' , 43856 , ' 0xab50 ' , 43856 UNION ALL
SELECT 1962 , ' 0x04b60 ' , 19296 , ' 0x4b60 ' , 19296 UNION ALL
SELECT 1963 , ' 0x0aae4 ' , 43748 , ' 0xaae4 ' , 43748 UNION ALL
SELECT 1964 , ' 0x0a570 ' , 42352 , ' 0xa570 ' , 42352 UNION ALL
SELECT 1965 , ' 0x05260 ' , 21088 , ' 0x5260 ' , 21088 UNION ALL
SELECT 1966 , ' 0x0f263 ' , 62051 , ' 0xf263 ' , 62051 UNION ALL
SELECT 1967 , ' 0x0d950 ' , 55632 , ' 0xd950 ' , 55632 UNION ALL
SELECT 1968 , ' 0x05b57 ' , 23383 , ' 0x5b57 ' , 23383 UNION ALL
SELECT 1969 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 1970 , ' 0x096d0 ' , 38608 , ' 0x96d0 ' , 38608 UNION ALL
SELECT 1971 , ' 0x04dd5 ' , 19925 , ' 0x4dd5 ' , 19925 UNION ALL
SELECT 1972 , ' 0x04ad0 ' , 19152 , ' 0x4ad0 ' , 19152 UNION ALL
SELECT 1973 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 1974 , ' 0x0d4d4 ' , 54484 , ' 0xd4d4 ' , 54484 UNION ALL
SELECT 1975 , ' 0x0d250 ' , 53840 , ' 0xd250 ' , 53840 UNION ALL
SELECT 1976 , ' 0x0d558 ' , 54616 , ' 0xd558 ' , 54616 UNION ALL
SELECT 1977 , ' 0x0b540 ' , 46400 , ' 0xb540 ' , 46400 UNION ALL
SELECT 1978 , ' 0x0b5a0 ' , 46496 , ' 0xb6a0 ' , 46752 UNION ALL
SELECT 1979 , ' 0x195a6 ' , 103846 , ' 0x95a6 ' , 38310 UNION ALL
SELECT 1980 , ' 0x095b0 ' , 38320 , ' 0x95bf ' , 38335 UNION ALL
SELECT 1981 , ' 0x049b0 ' , 18864 , ' 0x49b0 ' , 18864 UNION ALL
SELECT 1982 , ' 0x0a974 ' , 43380 , ' 0xa974 ' , 43380 UNION ALL
SELECT 1983 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 1984 , ' 0x0b27a ' , 45690 , ' 0xb27a ' , 45690 UNION ALL
SELECT 1985 , ' 0x06a50 ' , 27216 , ' 0x6a50 ' , 27216 UNION ALL
SELECT 1986 , ' 0x06d40 ' , 27968 , ' 0x6d40 ' , 27968 UNION ALL
SELECT 1987 , ' 0x0af46 ' , 44870 , ' 0xaf46 ' , 44870 UNION ALL
SELECT 1988 , ' 0x0ab60 ' , 43872 , ' 0xab60 ' , 43872 UNION ALL
SELECT 1989 , ' 0x09570 ' , 38256 , ' 0x9570 ' , 38256 UNION ALL
SELECT 1990 , ' 0x04af5 ' , 19189 , ' 0x4af5 ' , 19189 UNION ALL
SELECT 1991 , ' 0x04970 ' , 18800 , ' 0x4970 ' , 18800 UNION ALL
SELECT 1992 , ' 0x064b0 ' , 25776 , ' 0x64b0 ' , 25776 UNION ALL
SELECT 1993 , ' 0x074a3 ' , 29859 , ' 0x74a3 ' , 29859 UNION ALL
SELECT 1994 , ' 0x0ea50 ' , 59984 , ' 0xea50 ' , 59984 UNION ALL
SELECT 1995 , ' 0x06b58 ' , 27480 , ' 0x6b58 ' , 27480 UNION ALL
SELECT 1996 , ' 0x055c0 ' , 21952 , ' 0x5ac0 ' , 23232 UNION ALL
SELECT 1997 , ' 0x0ab60 ' , 43872 , ' 0xab60 ' , 43872 UNION ALL
SELECT 1998 , ' 0x096d5 ' , 38613 , ' 0x96d5 ' , 38613 UNION ALL
SELECT 1999 , ' 0x092e0 ' , 37600 , ' 0x92e0 ' , 37600 UNION ALL
SELECT 2000 , ' 0x0c960 ' , 51552 , ' 0xc960 ' , 51552 UNION ALL
SELECT 2001 , ' 0x0d954 ' , 55636 , ' 0xd954 ' , 55636 UNION ALL
SELECT 2002 , ' 0x0d4a0 ' , 54432 , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 2003 , ' 0x0da50 ' , 55888 , ' 0xda50 ' , 55888 UNION ALL
SELECT 2004 , ' 0x07552 ' , 30034 , ' 0x7552 ' , 30034 UNION ALL
SELECT 2005 , ' 0x056a0 ' , 22176 , ' 0x56a0 ' , 22176 UNION ALL
SELECT 2006 , ' 0x0abb7 ' , 43959 , ' 0xabb7 ' , 43959 UNION ALL
SELECT 2007 , ' 0x025d0 ' , 9680 , ' 0x25d0 ' , 9680 UNION ALL
SELECT 2008 , ' 0x092d0 ' , 37584 , ' 0x92d0 ' , 37584 UNION ALL
SELECT 2009 , ' 0x0cab5 ' , 51893 , ' 0xcab5 ' , 51893 UNION ALL
SELECT 2010 , ' 0x0a950 ' , 43344 , ' 0xa950 ' , 43344 UNION ALL
SELECT 2011 , ' 0x0b4a0 ' , 46240 , ' 0xb4a0 ' , 46240 UNION ALL
SELECT 2012 , ' 0x0baa4 ' , 47780 , ' 0xbaa4 ' , 47780 UNION ALL
SELECT 2013 , ' 0x0ad50 ' , 44368 , ' 0xad50 ' , 44368 UNION ALL
SELECT 2014 , ' 0x055d9 ' , 21977 , ' 0x55d9 ' , 21977 UNION ALL
SELECT 2015 , ' 0x04ba0 ' , 19360 , ' 0x4ba0 ' , 19360 UNION ALL
SELECT 2016 , ' 0x0a5b0 ' , 42416 , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 2017 , ' 0x15176 ' , 86390 , ' 0x5176 ' , 20854 UNION ALL
SELECT 2018 , ' 0x052b0 ' , 21168 , ' 0x52bf ' , 21183 UNION ALL
SELECT 2019 , ' 0x0a930 ' , 43312 , ' 0xa930 ' , 43312 UNION ALL
SELECT 2020 , ' 0x07954 ' , 31060 , ' 0x7954 ' , 31060 UNION ALL
SELECT 2021 , ' 0x06aa0 ' , 27296 , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 2022 , ' 0x0ad50 ' , 44368 , ' 0xad50 ' , 44368 UNION ALL
SELECT 2023 , ' 0x05b52 ' , 23378 , ' 0x5b52 ' , 23378 UNION ALL
SELECT 2024 , ' 0x04b60 ' , 19296 , ' 0x4b60 ' , 19296 UNION ALL
SELECT 2025 , ' 0x0a6e6 ' , 42726 , ' 0xa6e6 ' , 42726 UNION ALL
SELECT 2026 , ' 0x0a4e0 ' , 42208 , ' 0xa4e0 ' , 42208 UNION ALL
SELECT 2027 , ' 0x0d260 ' , 53856 , ' 0xd260 ' , 53856 UNION ALL
SELECT 2028 , ' 0x0ea65 ' , 60005 , ' 0xea65 ' , 60005 UNION ALL
SELECT 2029 , ' 0x0d530 ' , 54576 , ' 0xd530 ' , 54576 UNION ALL
SELECT 2030 , ' 0x05aa0 ' , 23200 , ' 0x5aa0 ' , 23200 UNION ALL
SELECT 2031 , ' 0x076a3 ' , 30371 , ' 0x76a3 ' , 30371 UNION ALL
SELECT 2032 , ' 0x096d0 ' , 38608 , ' 0x96d0 ' , 38608 UNION ALL
SELECT 2033 , ' 0x04bd7 ' , 19415 , ' 0x4afb ' , 19195 UNION ALL
SELECT 2034 , ' 0x04ad0 ' , 19152 , ' 0x4ad0 ' , 19152 UNION ALL
SELECT 2035 , ' 0x0a4d0 ' , 42192 , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 2036 , ' 0x1d0b6 ' , 118966 , ' 0xd0b6 ' , 53430 UNION ALL
SELECT 2037 , ' 0x0d250 ' , 53840 , ' 0xd25f ' , 53855 UNION ALL
SELECT 2038 , ' 0x0d520 ' , 54560 , ' 0xd520 ' , 54560 UNION ALL
SELECT 2039 , ' 0x0dd45 ' , 56645 , ' 0xdd45 ' , 56645 UNION ALL
SELECT 2040 , ' 0x0b5a0 ' , 46496 , ' 0xb5a0 ' , 46496 UNION ALL
SELECT 2041 , ' 0x056d0 ' , 22224 , ' 0x56d0 ' , 22224 UNION ALL
SELECT 2042 , ' 0x055b2 ' , 21938 , ' 0x55b2 ' , 21938 UNION ALL
SELECT 2043 , ' 0x049b0 ' , 18864 , ' 0x49b0 ' , 18864 UNION ALL
SELECT 2044 , ' 0x0a577 ' , 42359 , ' 0xa577 ' , 42359 UNION ALL
SELECT 2045 , ' 0x0a4b0 ' , 42160 , ' 0xa4b0 ' , 42160 UNION ALL
SELECT 2046 , ' 0x0aa50 ' , 43600 , ' 0xaa50 ' , 43600 UNION ALL
SELECT 2047 , ' 0x1b255 ' , 111189 , ' 0xb255 ' , 45653 UNION ALL
SELECT 2048 , ' 0x06d20 ' , 27936 , ' 0x6d2f ' , 27951 UNION ALL
SELECT 2049 , ' 0x0ada0 ' , 44448 , ' 0xada0 ' , 44448 UNION ALL
SELECT 2050 , ' 0x04b63 ' , 19299 , ' 0x4b63 ' , 19299 UNION ALL
SELECT 2051 , NULL , NULL , ' 0x937f ' , 37759 UNION ALL
SELECT 2052 , NULL , NULL , ' 0x49f8 ' , 18936 UNION ALL
SELECT 2053 , NULL , NULL , ' 0x4970 ' , 18800 UNION ALL
SELECT 2054 , NULL , NULL , ' 0x64b0 ' , 25776 UNION ALL
SELECT 2055 , NULL , NULL , ' 0x68a6 ' , 26790 UNION ALL
SELECT 2056 , NULL , NULL , ' 0xea5f ' , 59999 UNION ALL
SELECT 2057 , NULL , NULL , ' 0x6b20 ' , 27424 UNION ALL
SELECT 2058 , NULL , NULL , ' 0xa6c4 ' , 42692 UNION ALL
SELECT 2059 , NULL , NULL , ' 0xaaef ' , 43759 UNION ALL
SELECT 2060 , NULL , NULL , ' 0x92e0 ' , 37600 UNION ALL
SELECT 2061 , NULL , NULL , ' 0xd2e3 ' , 53987 UNION ALL
SELECT 2062 , NULL , NULL , ' 0xc960 ' , 51552 UNION ALL
SELECT 2063 , NULL , NULL , ' 0xd557 ' , 54615 UNION ALL
SELECT 2064 , NULL , NULL , ' 0xd4a0 ' , 54432 UNION ALL
SELECT 2065 , NULL , NULL , ' 0xda50 ' , 55888 UNION ALL
SELECT 2066 , NULL , NULL , ' 0x5d55 ' , 23893 UNION ALL
SELECT 2067 , NULL , NULL , ' 0x56a0 ' , 22176 UNION ALL
SELECT 2068 , NULL , NULL , ' 0xa6d0 ' , 42704 UNION ALL
SELECT 2069 , NULL , NULL , ' 0x55d4 ' , 21972 UNION ALL
SELECT 2070 , NULL , NULL , ' 0x52d0 ' , 21200 UNION ALL
SELECT 2071 , NULL , NULL , ' 0xa9b8 ' , 43448 UNION ALL
SELECT 2072 , NULL , NULL , ' 0xa950 ' , 43344 UNION ALL
SELECT 2073 , NULL , NULL , ' 0xb4a0 ' , 46240 UNION ALL
SELECT 2074 , NULL , NULL , ' 0xb6a6 ' , 46758 UNION ALL
SELECT 2075 , NULL , NULL , ' 0xad50 ' , 44368 UNION ALL
SELECT 2076 , NULL , NULL , ' 0x55a0 ' , 21920 UNION ALL
SELECT 2077 , NULL , NULL , ' 0xaba4 ' , 43940 UNION ALL
SELECT 2078 , NULL , NULL , ' 0xa5b0 ' , 42416 UNION ALL
SELECT 2079 , NULL , NULL , ' 0x52b0 ' , 21168 UNION ALL
SELECT 2080 , NULL , NULL , ' 0xb273 ' , 45683 UNION ALL
SELECT 2081 , NULL , NULL , ' 0x6930 ' , 26928 UNION ALL
SELECT 2082 , NULL , NULL , ' 0x7337 ' , 29495 UNION ALL
SELECT 2083 , NULL , NULL , ' 0x6aa0 ' , 27296 UNION ALL
SELECT 2084 , NULL , NULL , ' 0xad50 ' , 44368 UNION ALL
SELECT 2085 , NULL , NULL , ' 0x4b55 ' , 19285 UNION ALL
SELECT 2086 , NULL , NULL , ' 0x4b6f ' , 19311 UNION ALL
SELECT 2087 , NULL , NULL , ' 0xa570 ' , 42352 UNION ALL
SELECT 2088 , NULL , NULL , ' 0x54e4 ' , 21732 UNION ALL
SELECT 2089 , NULL , NULL , ' 0xd260 ' , 53856 UNION ALL
SELECT 2090 , NULL , NULL , ' 0xe968 ' , 59752 UNION ALL
SELECT 2091 , NULL , NULL , ' 0xd520 ' , 54560 UNION ALL
SELECT 2092 , NULL , NULL , ' 0xdaa0 ' , 55968 UNION ALL
SELECT 2093 , NULL , NULL , ' 0x6aa6 ' , 27302 UNION ALL
SELECT 2094 , NULL , NULL , ' 0x56df ' , 22239 UNION ALL
SELECT 2095 , NULL , NULL , ' 0x4ae0 ' , 19168 UNION ALL
SELECT 2096 , NULL , NULL , ' 0xa9d4 ' , 43476 UNION ALL
SELECT 2097 , NULL , NULL , ' 0xa4d0 ' , 42192 UNION ALL
SELECT 2098 , NULL , NULL , ' 0xd150 ' , 53584 UNION ALL
SELECT 2099 , NULL , NULL , ' 0xf252 ' , 62034 UNION ALL
SELECT 2100 , NULL , NULL , ' 0xd520 ' , 54560
END
GO
IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[f_LunisolarYearDays] ' ) AND type in (N ' FN ' , N ' IF ' , N ' TF ' , N ' FS ' , N ' FT ' ))
DROP FUNCTION [ Chinese ] . [ f_LunisolarYearDays ]
GO
IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[f_LunisolarDate] ' ) AND type in (N ' FN ' , N ' IF ' , N ' TF ' , N ' FS ' , N ' FT ' ))
DROP FUNCTION [ Chinese ] . [ f_LunisolarDate ]
IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[f_LunisolarYearDays] ' ) AND type in (N ' FN ' , N ' IF ' , N ' TF ' , N ' FS ' , N ' FT ' ))
DROP FUNCTION [ Chinese ] . [ f_LunisolarYearDays ]
GO
IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [Chinese].[f_LunisolarDate] ' ) AND type in (N ' FN ' , N ' IF ' , N ' TF ' , N ' FS ' , N ' FT ' ))
DROP FUNCTION [ Chinese ] . [ f_LunisolarDate ]
GO
CREATE FUNCTION [ Chinese ] . [ f_LunisolarDate ]
(
@Date datetime
)
RETURNS char ( 8 )
AS
BEGIN
DECLARE
@Offset int
, @DataInt int
, @YearOrMonthIndex int
, @DayIndex int
, @LunisolarYearDays int
, @LeapMonthIndex int
, @LeapMonthDayCount int
, @IsLeapMonth bit
DECLARE
@Year int
, @Month int
, @Day int
, @Result char ( 8 )
, @OrginalDate datetime
, @MaxYear smallint
DECLARE @IsUseData1 bit /* 使用第二套数据设为1,第二套数据使用起来有点问题 */
/* 可能是自己的转换方法有误,先保留着 */
SET @IsUseData1 = 0
-- SELECT @MaxYear = MAX(YearID) + 1
-- FROM [Chinese].[LunisolarDatas]
SET @MaxYear = 2049 + 1 /* 暂不考超过2049年的数据 */
SET @Year = Year ( @Date )
IF @Year < 1900 RETURN NULL
IF @MaxYear <= @Year RETURN NULL
-- 保证传进来的日期是不带时间
SET @Date = CONVERT ( char ( 8 ), @Date , 112 )
SET @OrginalDate = ' 19000130 '
SET @Offset = DATEDIFF (d, @OrginalDate , @Date )
-- 确定农历年开始
SET @YearOrMonthIndex = 1900
WHILE @YearOrMonthIndex < @MaxYear AND @Offset > 0
BEGIN
SET @LunisolarYearDays = 348
SET @LeapMonthDayCount = 0
IF @IsUseData1 = 0
SELECT @DataInt = [ dataInt ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @YearOrMonthIndex
ELSE
SELECT @DataInt = [ dataInt1 ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @YearOrMonthIndex
-- 传回农历年的总天数
SET @DayIndex = 32768
WHILE @DayIndex > 8
BEGIN
IF @DataInt & @DayIndex > 0 SET @LunisolarYearDays = @LunisolarYearDays + 1
SET @DayIndex = @DayIndex / 2
END
-- 传回农历年闰哪个月 1-12 , 没闰传回 0
SET @LeapMonthIndex = @DataInt & 15
-- 传回农历年闰月的天数 ,加在年的总天数上
IF @LeapMonthIndex > 0
BEGIN
IF @DataInt & 65536 > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
SET @LunisolarYearDays = @LunisolarYearDays + @LeapMonthDayCount
END
SET @Offset = @Offset - @LunisolarYearDays
SET @YearOrMonthIndex = @YearOrMonthIndex + 1
END
IF @Offset <= 0
BEGIN
SET @Offset = @Offset + @LunisolarYearDays
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
END
-- 确定农历年结束
SET @Year = @YearOrMonthIndex
-- 确定农历月开始
SET @YearOrMonthIndex = 1
IF @IsUseData1 = 0
SELECT @DataInt = [ dataInt ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @Year
ELSE
SELECT @DataInt = [ dataInt1 ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @Year
-- 判断那个月是润月
SET @LeapMonthIndex = @DataInt & 15
SET @IsLeapMonth = 0
WHILE @YearOrMonthIndex < 13 AND @Offset > 0
BEGIN
-- 判断润月
SET @LeapMonthDayCount = 0
IF ( @LeapMonthIndex > 0 AND @YearOrMonthIndex = ( @LeapMonthIndex + 1 ) AND @IsLeapMonth = 0 )
BEGIN /* 是润月 */
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
SET @IsLeapMonth = 1
-- 传回农历年闰月的天数
IF @DataInt & 65536 > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
END
ELSE
BEGIN /* 不是润月 */
DECLARE @TmpIndex int
SET @DayIndex = 1
SET @TmpIndex = 65536
WHILE @DayIndex <= @YearOrMonthIndex
BEGIN
SET @TmpIndex = @TmpIndex / 2
SET @DayIndex = @DayIndex + 1
END
IF @DataInt & @TmpIndex > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
END
-- 解除闰月
IF @IsLeapMonth = 1 AND @YearOrMonthIndex = ( @LeapMonthIndex + 1 )
SET @IsLeapMonth = 0
SET @Offset = @Offset - @LeapMonthDayCount
SET @YearOrMonthIndex = @YearOrMonthIndex + 1
END
IF @Offset <= 0
BEGIN
SET @Offset = @Offset + @LeapMonthDayCount
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
END
-- 确定农历月结束
SET @Month = @YearOrMonthIndex
-- 确定农历日结束
SET @Day = @Offset
SET @Result =
CAST ( @Year AS char ( 4 ))
+ RIGHT ( ' 0 ' + CAST ( @Month AS varchar ( 2 )), 2 )
+ RIGHT ( ' 0 ' + CAST ( @Day AS varchar ( 2 )), 2 )
RETURN @Result
END
CREATE FUNCTION [ Chinese ] . [ f_LunisolarDate ]
(
@Date datetime
)
RETURNS char ( 8 )
AS
BEGIN
DECLARE
@Offset int
, @DataInt int
, @YearOrMonthIndex int
, @DayIndex int
, @LunisolarYearDays int
, @LeapMonthIndex int
, @LeapMonthDayCount int
, @IsLeapMonth bit
DECLARE
@Year int
, @Month int
, @Day int
, @Result char ( 8 )
, @OrginalDate datetime
, @MaxYear smallint
DECLARE @IsUseData1 bit /* 使用第二套数据设为1,第二套数据使用起来有点问题 */
/* 可能是自己的转换方法有误,先保留着 */
SET @IsUseData1 = 0
-- SELECT @MaxYear = MAX(YearID) + 1
-- FROM [Chinese].[LunisolarDatas]
SET @MaxYear = 2049 + 1 /* 暂不考超过2049年的数据 */
SET @Year = Year ( @Date )
IF @Year < 1900 RETURN NULL
IF @MaxYear <= @Year RETURN NULL
-- 保证传进来的日期是不带时间
SET @Date = CONVERT ( char ( 8 ), @Date , 112 )
SET @OrginalDate = ' 19000130 '
SET @Offset = DATEDIFF (d, @OrginalDate , @Date )
-- 确定农历年开始
SET @YearOrMonthIndex = 1900
WHILE @YearOrMonthIndex < @MaxYear AND @Offset > 0
BEGIN
SET @LunisolarYearDays = 348
SET @LeapMonthDayCount = 0
IF @IsUseData1 = 0
SELECT @DataInt = [ dataInt ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @YearOrMonthIndex
ELSE
SELECT @DataInt = [ dataInt1 ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @YearOrMonthIndex
-- 传回农历年的总天数
SET @DayIndex = 32768
WHILE @DayIndex > 8
BEGIN
IF @DataInt & @DayIndex > 0 SET @LunisolarYearDays = @LunisolarYearDays + 1
SET @DayIndex = @DayIndex / 2
END
-- 传回农历年闰哪个月 1-12 , 没闰传回 0
SET @LeapMonthIndex = @DataInt & 15
-- 传回农历年闰月的天数 ,加在年的总天数上
IF @LeapMonthIndex > 0
BEGIN
IF @DataInt & 65536 > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
SET @LunisolarYearDays = @LunisolarYearDays + @LeapMonthDayCount
END
SET @Offset = @Offset - @LunisolarYearDays
SET @YearOrMonthIndex = @YearOrMonthIndex + 1
END
IF @Offset <= 0
BEGIN
SET @Offset = @Offset + @LunisolarYearDays
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
END
-- 确定农历年结束
SET @Year = @YearOrMonthIndex
-- 确定农历月开始
SET @YearOrMonthIndex = 1
IF @IsUseData1 = 0
SELECT @DataInt = [ dataInt ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @Year
ELSE
SELECT @DataInt = [ dataInt1 ]
FROM [ Chinese ] . [ LunisolarDatas ]
WHERE yearId = @Year
-- 判断那个月是润月
SET @LeapMonthIndex = @DataInt & 15
SET @IsLeapMonth = 0
WHILE @YearOrMonthIndex < 13 AND @Offset > 0
BEGIN
-- 判断润月
SET @LeapMonthDayCount = 0
IF ( @LeapMonthIndex > 0 AND @YearOrMonthIndex = ( @LeapMonthIndex + 1 ) AND @IsLeapMonth = 0 )
BEGIN /* 是润月 */
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
SET @IsLeapMonth = 1
-- 传回农历年闰月的天数
IF @DataInt & 65536 > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
END
ELSE
BEGIN /* 不是润月 */
DECLARE @TmpIndex int
SET @DayIndex = 1
SET @TmpIndex = 65536
WHILE @DayIndex <= @YearOrMonthIndex
BEGIN
SET @TmpIndex = @TmpIndex / 2
SET @DayIndex = @DayIndex + 1
END
IF @DataInt & @TmpIndex > 0
SET @LeapMonthDayCount = 30
ELSE
SET @LeapMonthDayCount = 29
END
-- 解除闰月
IF @IsLeapMonth = 1 AND @YearOrMonthIndex = ( @LeapMonthIndex + 1 )
SET @IsLeapMonth = 0
SET @Offset = @Offset - @LeapMonthDayCount
SET @YearOrMonthIndex = @YearOrMonthIndex + 1
END
IF @Offset <= 0
BEGIN
SET @Offset = @Offset + @LeapMonthDayCount
SET @YearOrMonthIndex = @YearOrMonthIndex - 1
END
-- 确定农历月结束
SET @Month = @YearOrMonthIndex
-- 确定农历日结束
SET @Day = @Offset
SET @Result =
CAST ( @Year AS char ( 4 ))
+ RIGHT ( ' 0 ' + CAST ( @Month AS varchar ( 2 )), 2 )
+ RIGHT ( ' 0 ' + CAST ( @Day AS varchar ( 2 )), 2 )
RETURN @Result
END
GO
CREATE FUNCTION [ Chinese ] . [ f_LunisolarYearDays ]
(
@Year char ( 4 )
)
RETURNS
@Table TABLE
(
Date char ( 8 ) NOT NULL PRIMARY KEY
,LunisolarDate char ( 8 )
,SolarTerm nvarchar ( 2 )
)
AS
BEGIN
DECLARE @Days smallint
, @Index smallint
, @Current datetime
SET @Days = DATEPART (dayofyear, @Year + ' 1231 ' )
SET @Index = 1
SET @Current = @Year + ' 0101 '
WHILE @Index <= @Days
BEGIN
INSERT INTO @Table
VALUES
(
CONVERT ( char ( 8 ), @Current , 112 )
, [ Chinese ] . [ f_LunisolarDate ] ( @Current )
, NULL
)
SET @Current = DATEADD (d, 1 , @Current )
SET @Index = @Index + 1
END
DECLARE
@Name nvarchar ( 2 )
, @Date char ( 4 )
--
SET @Name = N ' 春节 '
SET @Date = ' 0101 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 除夕 '
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = DATEADD (d, - 1 , @Current )
--
SET @Name = N ' 元宵 '
SET @Date = ' 0115 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 端午 '
SET @Date = ' 0505 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 七夕 '
SET @Date = ' 0707 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 中元 '
SET @Date = ' 0715 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 中秋 '
SET @Date = ' 0815 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 重阳 '
SET @Date = ' 0909 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 腊八 '
SET @Date = ' 1208 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = CAST (( CAST ( @Year AS smallint ) - 1 ) AS char ( 4 )) + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 小年 '
SET @Date = ' 1223 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = CAST (( CAST ( @Year AS smallint ) - 1 ) AS char ( 4 )) + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
-- 节气
DECLARE @Offset tinyint
, @Value int
, @TotalOffset float
SET @Index = 2
WHILE @Index < 26
BEGIN
SELECT
@Name = [ Name ]
, @Value = [ Value ]
FROM [ Chinese ] . [ LunisolarSolarTerm ]
WHERE ID = @Index - 1
SET @TotalOffset = ( 31556925974.7 * ( @Year - 1900 )) / 60000 . + @Value
SET @Offset = Day ( DateAdd (n, @TotalOffset , ' 1900-01-06 02:05:00 ' ))
SET @Current = @Year + RIGHT ( ' 0 ' + CAST ( CEILING ( @Index / 2 ) AS varchar ( 2 )), 2 ) + RIGHT ( ' 0 ' + CAST ( @Offset AS varchar ( 2 )), 2 )
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
SET @Index = @Index + 1
END
RETURN
END
CREATE FUNCTION [ Chinese ] . [ f_LunisolarYearDays ]
(
@Year char ( 4 )
)
RETURNS
@Table TABLE
(
Date char ( 8 ) NOT NULL PRIMARY KEY
,LunisolarDate char ( 8 )
,SolarTerm nvarchar ( 2 )
)
AS
BEGIN
DECLARE @Days smallint
, @Index smallint
, @Current datetime
SET @Days = DATEPART (dayofyear, @Year + ' 1231 ' )
SET @Index = 1
SET @Current = @Year + ' 0101 '
WHILE @Index <= @Days
BEGIN
INSERT INTO @Table
VALUES
(
CONVERT ( char ( 8 ), @Current , 112 )
, [ Chinese ] . [ f_LunisolarDate ] ( @Current )
, NULL
)
SET @Current = DATEADD (d, 1 , @Current )
SET @Index = @Index + 1
END
DECLARE
@Name nvarchar ( 2 )
, @Date char ( 4 )
--
SET @Name = N ' 春节 '
SET @Date = ' 0101 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 除夕 '
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = DATEADD (d, - 1 , @Current )
--
SET @Name = N ' 元宵 '
SET @Date = ' 0115 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 端午 '
SET @Date = ' 0505 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 七夕 '
SET @Date = ' 0707 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 中元 '
SET @Date = ' 0715 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 中秋 '
SET @Date = ' 0815 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 重阳 '
SET @Date = ' 0909 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = @Year + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 腊八 '
SET @Date = ' 1208 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = CAST (( CAST ( @Year AS smallint ) - 1 ) AS char ( 4 )) + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
--
SET @Name = N ' 小年 '
SET @Date = ' 1223 '
SELECT TOP 1 @Current = Date
FROM @Table
WHERE LunisolarDate = CAST (( CAST ( @Year AS smallint ) - 1 ) AS char ( 4 )) + @Date
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
-- 节气
DECLARE @Offset tinyint
, @Value int
, @TotalOffset float
SET @Index = 2
WHILE @Index < 26
BEGIN
SELECT
@Name = [ Name ]
, @Value = [ Value ]
FROM [ Chinese ] . [ LunisolarSolarTerm ]
WHERE ID = @Index - 1
SET @TotalOffset = ( 31556925974.7 * ( @Year - 1900 )) / 60000 . + @Value
SET @Offset = Day ( DateAdd (n, @TotalOffset , ' 1900-01-06 02:05:00 ' ))
SET @Current = @Year + RIGHT ( ' 0 ' + CAST ( CEILING ( @Index / 2 ) AS varchar ( 2 )), 2 ) + RIGHT ( ' 0 ' + CAST ( @Offset AS varchar ( 2 )), 2 )
UPDATE @Table
SET SolarTerm = @Name
WHERE Date = @Current
SET @Index = @Index + 1
END
RETURN
END
GO
SELECT * FROM [ Chinese ] . [ f_LunisolarYearDays ] ( 2008 )
/*
Date LunisolarDate SolarTerm
-------- ------------- ---------
20080101 20071123 NULL
20080102 20071124 NULL
20080103 20071125 NULL
20080104 20071126 NULL
20080105 20071127 NULL
20080106 20071128 小寒
20080107 20071129 NULL
20080108 20071201 NULL
20080109 20071202 NULL
20080110 20071203 NULL
20080111 20071204 NULL
20080112 20071205 NULL
20080113 20071206 NULL
20080114 20071207 NULL
20080115 20071208 腊八
20080116 20071209 NULL
20080117 20071210 NULL
20080118 20071211 NULL
20080119 20071212 NULL
20080120 20071213 大寒
20080121 20071214 NULL
20080122 20071215 NULL
20080123 20071216 NULL
20080124 20071217 NULL
20080125 20071218 NULL
20080126 20071219 NULL
20080127 20071220 NULL
20080128 20071221 NULL
20080129 20071222 NULL
20080130 20071223 小年
20080131 20071224 NULL
20080201 20071225 NULL
20080202 20071226 NULL
20080203 20071227 NULL
20080204 20071228 立春
20080205 20071229 NULL
20080206 20071230 除夕
20080207 20080101 春节
20080208 20080102 NULL
20080209 20080103 NULL
20080210 20080104 NULL
20080211 20080105 NULL
20080212 20080106 NULL
20080213 20080107 NULL
20080214 20080108 NULL
20080215 20080109 NULL
20080216 20080110 NULL
20080217 20080111 NULL
20080218 20080112 NULL
20080219 20080113 雨水
20080220 20080114 NULL
20080221 20080115 元宵
20080222 20080116 NULL
20080223 20080117 NULL
20080224 20080118 NULL
20080225 20080119 NULL
20080226 20080120 NULL
20080227 20080121 NULL
20080228 20080122 NULL
20080229 20080123 NULL
20080301 20080124 NULL
20080302 20080125 NULL
20080303 20080126 NULL
20080304 20080127 NULL
20080305 20080128 惊蛰
20080306 20080129 NULL
20080307 20080130 NULL
20080308 20080201 NULL
20080309 20080202 NULL
20080310 20080203 NULL
20080311 20080204 NULL
20080312 20080205 NULL
20080313 20080206 NULL
20080314 20080207 NULL
20080315 20080208 NULL
20080316 20080209 NULL
20080317 20080210 NULL
20080318 20080211 NULL
20080319 20080212 NULL
20080320 20080213 春分
20080321 20080214 NULL
20080322 20080215 NULL
20080323 20080216 NULL
20080324 20080217 NULL
20080325 20080218 NULL
20080326 20080219 NULL
20080327 20080220 NULL
20080328 20080221 NULL
20080329 20080222 NULL
20080330 20080223 NULL
20080331 20080224 NULL
20080401 20080225 NULL
20080402 20080226 NULL
20080403 20080227 NULL
20080404 20080228 清明
20080405 20080229 NULL
20080406 20080301 NULL
20080407 20080302 NULL
20080408 20080303 NULL
20080409 20080304 NULL
20080410 20080305 NULL
20080411 20080306 NULL
20080412 20080307 NULL
20080413 20080308 NULL
20080414 20080309 NULL
20080415 20080310 NULL
20080416 20080311 NULL
20080417 20080312 NULL
20080418 20080313 NULL
20080419 20080314 NULL
20080420 20080315 谷雨
20080421 20080316 NULL
20080422 20080317 NULL
20080423 20080318 NULL
20080424 20080319 NULL
20080425 20080320 NULL
20080426 20080321 NULL
20080427 20080322 NULL
20080428 20080323 NULL
20080429 20080324 NULL
20080430 20080325 NULL
20080501 20080326 NULL
20080502 20080327 NULL
20080503 20080328 NULL
20080504 20080329 NULL
20080505 20080401 立夏
20080506 20080402 NULL
20080507 20080403 NULL
20080508 20080404 NULL
20080509 20080405 NULL
20080510 20080406 NULL
20080511 20080407 NULL
20080512 20080408 NULL
20080513 20080409 NULL
20080514 20080410 NULL
20080515 20080411 NULL
20080516 20080412 NULL
20080517 20080413 NULL
20080518 20080414 NULL
20080519 20080415 NULL
20080520 20080416 NULL
20080521 20080417 小满
20080522 20080418 NULL
20080523 20080419 NULL
20080524 20080420 NULL
20080525 20080421 NULL
20080526 20080422 NULL
20080527 20080423 NULL
20080528 20080424 NULL
20080529 20080425 NULL
20080530 20080426 NULL
20080531 20080427 NULL
20080601 20080428 NULL
20080602 20080429 NULL
20080603 20080430 NULL
20080604 20080501 NULL
20080605 20080502 芒种
20080606 20080503 NULL
20080607 20080504 NULL
20080608 20080505 端午
20080609 20080506 NULL
20080610 20080507 NULL
20080611 20080508 NULL
20080612 20080509 NULL
20080613 20080510 NULL
20080614 20080511 NULL
20080615 20080512 NULL
20080616 20080513 NULL
20080617 20080514 NULL
20080618 20080515 NULL
20080619 20080516 NULL
20080620 20080517 NULL
20080621 20080518 夏至
20080622 20080519 NULL
20080623 20080520 NULL
20080624 20080521 NULL
20080625 20080522 NULL
20080626 20080523 NULL
20080627 20080524 NULL
20080628 20080525 NULL
20080629 20080526 NULL
20080630 20080527 NULL
20080701 20080528 NULL
20080702 20080529 NULL
20080703 20080601 NULL
20080704 20080602 NULL
20080705 20080603 NULL
20080706 20080604 NULL
20080707 20080605 小暑
20080708 20080606 NULL
20080709 20080607 NULL
20080710 20080608 NULL
20080711 20080609 NULL
20080712 20080610 NULL
20080713 20080611 NULL
20080714 20080612 NULL
20080715 20080613 NULL
20080716 20080614 NULL
20080717 20080615 NULL
20080718 20080616 NULL
20080719 20080617 NULL
20080720 20080618 NULL
20080721 20080619 NULL
20080722 20080620 大暑
20080723 20080621 NULL
20080724 20080622 NULL
20080725 20080623 NULL
20080726 20080624 NULL
20080727 20080625 NULL
20080728 20080626 NULL
20080729 20080627 NULL
20080730 20080628 NULL
20080731 20080629 NULL
20080801 20080701 NULL
20080802 20080702 NULL
20080803 20080703 NULL
20080804 20080704 NULL
20080805 20080705 NULL
20080806 20080706 NULL
20080807 20080707 立秋
20080808 20080708 NULL
20080809 20080709 NULL
20080810 20080710 NULL
20080811 20080711 NULL
20080812 20080712 NULL
20080813 20080713 NULL
20080814 20080714 NULL
20080815 20080715 中元
20080816 20080716 NULL
20080817 20080717 NULL
20080818 20080718 NULL
20080819 20080719 NULL
20080820 20080720 NULL
20080821 20080721 NULL
20080822 20080722 NULL
20080823 20080723 处暑
20080824 20080724 NULL
20080825 20080725 NULL
20080826 20080726 NULL
20080827 20080727 NULL
20080828 20080728 NULL
20080829 20080729 NULL
20080830 20080730 NULL
20080831 20080801 NULL
20080901 20080802 NULL
20080902 20080803 NULL
20080903 20080804 NULL
20080904 20080805 NULL
20080905 20080806 NULL
20080906 20080807 NULL
20080907 20080808 白露
20080908 20080809 NULL
20080909 20080810 NULL
20080910 20080811 NULL
20080911 20080812 NULL
20080912 20080813 NULL
20080913 20080814 NULL
20080914 20080815 中秋
20080915 20080816 NULL
20080916 20080817 NULL
20080917 20080818 NULL
20080918 20080819 NULL
20080919 20080820 NULL
20080920 20080821 NULL
20080921 20080822 NULL
20080922 20080823 NULL
20080923 20080824 秋分
20080924 20080825 NULL
20080925 20080826 NULL
20080926 20080827 NULL
20080927 20080828 NULL
20080928 20080829 NULL
20080929 20080901 NULL
20080930 20080902 NULL
20081001 20080903 NULL
20081002 20080904 NULL
20081003 20080905 NULL
20081004 20080906 NULL
20081005 20080907 NULL
20081006 20080908 NULL
20081007 20080909 重阳
20081008 20080910 寒露
20081009 20080911 NULL
20081010 20080912 NULL
20081011 20080913 NULL
20081012 20080914 NULL
20081013 20080915 NULL
20081014 20080916 NULL
20081015 20080917 NULL
20081016 20080918 NULL
20081017 20080919 NULL
20081018 20080920 NULL
20081019 20080921 NULL
20081020 20080922 NULL
20081021 20080923 NULL
20081022 20080924 NULL
20081023 20080925 霜降
20081024 20080926 NULL
20081025 20080927 NULL
20081026 20080928 NULL
20081027 20080929 NULL
20081028 20080930 NULL
20081029 20081001 NULL
20081030 20081002 NULL
20081031 20081003 NULL
20081101 20081004 NULL
20081102 20081005 NULL
20081103 20081006 NULL
20081104 20081007 NULL
20081105 20081008 NULL
20081106 20081009 NULL
20081107 20081010 立冬
20081108 20081011 NULL
20081109 20081012 NULL
20081110 20081013 NULL
20081111 20081014 NULL
20081112 20081015 NULL
20081113 20081016 NULL
20081114 20081017 NULL
20081115 20081018 NULL
20081116 20081019 NULL
20081117 20081020 NULL
20081118 20081021 NULL
20081119 20081022 NULL
20081120 20081023 NULL
20081121 20081024 NULL
20081122 20081025 小雪
20081123 20081026 NULL
20081124 20081027 NULL
20081125 20081028 NULL
20081126 20081029 NULL
20081127 20081030 NULL
20081128 20081101 NULL
20081129 20081102 NULL
20081130 20081103 NULL
20081201 20081104 NULL
20081202 20081105 NULL
20081203 20081106 NULL
20081204 20081107 NULL
20081205 20081108 NULL
20081206 20081109 NULL
20081207 20081110 大雪
20081208 20081111 NULL
20081209 20081112 NULL
20081210 20081113 NULL
20081211 20081114 NULL
20081212 20081115 NULL
20081213 20081116 NULL
20081214 20081117 NULL
20081215 20081118 NULL
20081216 20081119 NULL
20081217 20081120 NULL
20081218 20081121 NULL
20081219 20081122 NULL
20081220 20081123 NULL
20081221 20081124 冬至
20081222 20081125 NULL
20081223 20081126 NULL
20081224 20081127 NULL
20081225 20081128 NULL
20081226 20081129 NULL
20081227 20081201 NULL
20081228 20081202 NULL
20081229 20081203 NULL
20081230 20081204 NULL
20081231 20081205 NULL
(366 行受影响)
*/
SELECT * FROM [ Chinese ] . [ f_LunisolarYearDays ] ( 2008 )
/*
Date LunisolarDate SolarTerm
-------- ------------- ---------
20080101 20071123 NULL
20080102 20071124 NULL
20080103 20071125 NULL
20080104 20071126 NULL
20080105 20071127 NULL
20080106 20071128 小寒
20080107 20071129 NULL
20080108 20071201 NULL
20080109 20071202 NULL
20080110 20071203 NULL
20080111 20071204 NULL
20080112 20071205 NULL
20080113 20071206 NULL
20080114 20071207 NULL
20080115 20071208 腊八
20080116 20071209 NULL
20080117 20071210 NULL
20080118 20071211 NULL
20080119 20071212 NULL
20080120 20071213 大寒
20080121 20071214 NULL
20080122 20071215 NULL
20080123 20071216 NULL
20080124 20071217 NULL
20080125 20071218 NULL
20080126 20071219 NULL
20080127 20071220 NULL
20080128 20071221 NULL
20080129 20071222 NULL
20080130 20071223 小年
20080131 20071224 NULL
20080201 20071225 NULL
20080202 20071226 NULL
20080203 20071227 NULL
20080204 20071228 立春
20080205 20071229 NULL
20080206 20071230 除夕
20080207 20080101 春节
20080208 20080102 NULL
20080209 20080103 NULL
20080210 20080104 NULL
20080211 20080105 NULL
20080212 20080106 NULL
20080213 20080107 NULL
20080214 20080108 NULL
20080215 20080109 NULL
20080216 20080110 NULL
20080217 20080111 NULL
20080218 20080112 NULL
20080219 20080113 雨水
20080220 20080114 NULL
20080221 20080115 元宵
20080222 20080116 NULL
20080223 20080117 NULL
20080224 20080118 NULL
20080225 20080119 NULL
20080226 20080120 NULL
20080227 20080121 NULL
20080228 20080122 NULL
20080229 20080123 NULL
20080301 20080124 NULL
20080302 20080125 NULL
20080303 20080126 NULL
20080304 20080127 NULL
20080305 20080128 惊蛰
20080306 20080129 NULL
20080307 20080130 NULL
20080308 20080201 NULL
20080309 20080202 NULL
20080310 20080203 NULL
20080311 20080204 NULL
20080312 20080205 NULL
20080313 20080206 NULL
20080314 20080207 NULL
20080315 20080208 NULL
20080316 20080209 NULL
20080317 20080210 NULL
20080318 20080211 NULL
20080319 20080212 NULL
20080320 20080213 春分
20080321 20080214 NULL
20080322 20080215 NULL
20080323 20080216 NULL
20080324 20080217 NULL
20080325 20080218 NULL
20080326 20080219 NULL
20080327 20080220 NULL
20080328 20080221 NULL
20080329 20080222 NULL
20080330 20080223 NULL
20080331 20080224 NULL
20080401 20080225 NULL
20080402 20080226 NULL
20080403 20080227 NULL
20080404 20080228 清明
20080405 20080229 NULL
20080406 20080301 NULL
20080407 20080302 NULL
20080408 20080303 NULL
20080409 20080304 NULL
20080410 20080305 NULL
20080411 20080306 NULL
20080412 20080307 NULL
20080413 20080308 NULL
20080414 20080309 NULL
20080415 20080310 NULL
20080416 20080311 NULL
20080417 20080312 NULL
20080418 20080313 NULL
20080419 20080314 NULL
20080420 20080315 谷雨
20080421 20080316 NULL
20080422 20080317 NULL
20080423 20080318 NULL
20080424 20080319 NULL
20080425 20080320 NULL
20080426 20080321 NULL
20080427 20080322 NULL
20080428 20080323 NULL
20080429 20080324 NULL
20080430 20080325 NULL
20080501 20080326 NULL
20080502 20080327 NULL
20080503 20080328 NULL
20080504 20080329 NULL
20080505 20080401 立夏
20080506 20080402 NULL
20080507 20080403 NULL
20080508 20080404 NULL
20080509 20080405 NULL
20080510 20080406 NULL
20080511 20080407 NULL
20080512 20080408 NULL
20080513 20080409 NULL
20080514 20080410 NULL
20080515 20080411 NULL
20080516 20080412 NULL
20080517 20080413 NULL
20080518 20080414 NULL
20080519 20080415 NULL
20080520 20080416 NULL
20080521 20080417 小满
20080522 20080418 NULL
20080523 20080419 NULL
20080524 20080420 NULL
20080525 20080421 NULL
20080526 20080422 NULL
20080527 20080423 NULL
20080528 20080424 NULL
20080529 20080425 NULL
20080530 20080426 NULL
20080531 20080427 NULL
20080601 20080428 NULL
20080602 20080429 NULL
20080603 20080430 NULL
20080604 20080501 NULL
20080605 20080502 芒种
20080606 20080503 NULL
20080607 20080504 NULL
20080608 20080505 端午
20080609 20080506 NULL
20080610 20080507 NULL
20080611 20080508 NULL
20080612 20080509 NULL
20080613 20080510 NULL
20080614 20080511 NULL
20080615 20080512 NULL
20080616 20080513 NULL
20080617 20080514 NULL
20080618 20080515 NULL
20080619 20080516 NULL
20080620 20080517 NULL
20080621 20080518 夏至
20080622 20080519 NULL
20080623 20080520 NULL
20080624 20080521 NULL
20080625 20080522 NULL
20080626 20080523 NULL
20080627 20080524 NULL
20080628 20080525 NULL
20080629 20080526 NULL
20080630 20080527 NULL
20080701 20080528 NULL
20080702 20080529 NULL
20080703 20080601 NULL
20080704 20080602 NULL
20080705 20080603 NULL
20080706 20080604 NULL
20080707 20080605 小暑
20080708 20080606 NULL
20080709 20080607 NULL
20080710 20080608 NULL
20080711 20080609 NULL
20080712 20080610 NULL
20080713 20080611 NULL
20080714 20080612 NULL
20080715 20080613 NULL
20080716 20080614 NULL
20080717 20080615 NULL
20080718 20080616 NULL
20080719 20080617 NULL
20080720 20080618 NULL
20080721 20080619 NULL
20080722 20080620 大暑
20080723 20080621 NULL
20080724 20080622 NULL
20080725 20080623 NULL
20080726 20080624 NULL
20080727 20080625 NULL
20080728 20080626 NULL
20080729 20080627 NULL
20080730 20080628 NULL
20080731 20080629 NULL
20080801 20080701 NULL
20080802 20080702 NULL
20080803 20080703 NULL
20080804 20080704 NULL
20080805 20080705 NULL
20080806 20080706 NULL
20080807 20080707 立秋
20080808 20080708 NULL
20080809 20080709 NULL
20080810 20080710 NULL
20080811 20080711 NULL
20080812 20080712 NULL
20080813 20080713 NULL
20080814 20080714 NULL
20080815 20080715 中元
20080816 20080716 NULL
20080817 20080717 NULL
20080818 20080718 NULL
20080819 20080719 NULL
20080820 20080720 NULL
20080821 20080721 NULL
20080822 20080722 NULL
20080823 20080723 处暑
20080824 20080724 NULL
20080825 20080725 NULL
20080826 20080726 NULL
20080827 20080727 NULL
20080828 20080728 NULL
20080829 20080729 NULL
20080830 20080730 NULL
20080831 20080801 NULL
20080901 20080802 NULL
20080902 20080803 NULL
20080903 20080804 NULL
20080904 20080805 NULL
20080905 20080806 NULL
20080906 20080807 NULL
20080907 20080808 白露
20080908 20080809 NULL
20080909 20080810 NULL
20080910 20080811 NULL
20080911 20080812 NULL
20080912 20080813 NULL
20080913 20080814 NULL
20080914 20080815 中秋
20080915 20080816 NULL
20080916 20080817 NULL
20080917 20080818 NULL
20080918 20080819 NULL
20080919 20080820 NULL
20080920 20080821 NULL
20080921 20080822 NULL
20080922 20080823 NULL
20080923 20080824 秋分
20080924 20080825 NULL
20080925 20080826 NULL
20080926 20080827 NULL
20080927 20080828 NULL
20080928 20080829 NULL
20080929 20080901 NULL
20080930 20080902 NULL
20081001 20080903 NULL
20081002 20080904 NULL
20081003 20080905 NULL
20081004 20080906 NULL
20081005 20080907 NULL
20081006 20080908 NULL
20081007 20080909 重阳
20081008 20080910 寒露
20081009 20080911 NULL
20081010 20080912 NULL
20081011 20080913 NULL
20081012 20080914 NULL
20081013 20080915 NULL
20081014 20080916 NULL
20081015 20080917 NULL
20081016 20080918 NULL
20081017 20080919 NULL
20081018 20080920 NULL
20081019 20080921 NULL
20081020 20080922 NULL
20081021 20080923 NULL
20081022 20080924 NULL
20081023 20080925 霜降
20081024 20080926 NULL
20081025 20080927 NULL
20081026 20080928 NULL
20081027 20080929 NULL
20081028 20080930 NULL
20081029 20081001 NULL
20081030 20081002 NULL
20081031 20081003 NULL
20081101 20081004 NULL
20081102 20081005 NULL
20081103 20081006 NULL
20081104 20081007 NULL
20081105 20081008 NULL
20081106 20081009 NULL
20081107 20081010 立冬
20081108 20081011 NULL
20081109 20081012 NULL
20081110 20081013 NULL
20081111 20081014 NULL
20081112 20081015 NULL
20081113 20081016 NULL
20081114 20081017 NULL
20081115 20081018 NULL
20081116 20081019 NULL
20081117 20081020 NULL
20081118 20081021 NULL
20081119 20081022 NULL
20081120 20081023 NULL
20081121 20081024 NULL
20081122 20081025 小雪
20081123 20081026 NULL
20081124 20081027 NULL
20081125 20081028 NULL
20081126 20081029 NULL
20081127 20081030 NULL
20081128 20081101 NULL
20081129 20081102 NULL
20081130 20081103 NULL
20081201 20081104 NULL
20081202 20081105 NULL
20081203 20081106 NULL
20081204 20081107 NULL
20081205 20081108 NULL
20081206 20081109 NULL
20081207 20081110 大雪
20081208 20081111 NULL
20081209 20081112 NULL
20081210 20081113 NULL
20081211 20081114 NULL
20081212 20081115 NULL
20081213 20081116 NULL
20081214 20081117 NULL
20081215 20081118 NULL
20081216 20081119 NULL
20081217 20081120 NULL
20081218 20081121 NULL
20081219 20081122 NULL
20081220 20081123 NULL
20081221 20081124 冬至
20081222 20081125 NULL
20081223 20081126 NULL
20081224 20081127 NULL
20081225 20081128 NULL
20081226 20081129 NULL
20081227 20081201 NULL
20081228 20081202 NULL
20081229 20081203 NULL
20081230 20081204 NULL
20081231 20081205 NULL
(366 行受影响)
*/