음력을 양력으로 변환할려구 자료를 찾아보던 중
http://sqler.pe.kr/web_board/view_list.asp?id=692&read=4225&pagec=&found=is&part=myboard7&ser=yes
에서 음력을 양력으로 변환하는 프로시져를 찾았습니다.
그런데 firebird에서 사용 가능한 형태로 바꿀 수가 없네요.
실력이 딸려서....
firebird 고수께서 좀 바꾸어 주세요..
부탁드립니다.
--################# 음력 => 양력 (함수) ###################
create proc LunaToSola @LunaDay varchar(12), @yun varchar(1) = 'n'
as
if (year(@LunaDay) < year('1901')) or (year(@LunaDay) > year('2043')) return
declare @tYearDays int, @i int, @m_Str varchar(20)
declare @int_year int, @int_month tinyint
select @int_year = year('1901'), @tYearDays = 0
while @int_year < year(@LunaDay) begin
select @tYearDays = @tYearDays + (select y_total from LunarSet where yyyy = @int_year)
set @int_year = @int_year + 1
end
set @int_month = 1
select @m_Str = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + m12 from LunarSet where yyyy = @int_year
while @int_month < month(@LunaDay) begin
select @tYearDays = @tYearDays + (case cast(substring(@m_Str, @int_month, 1) as int) when 1 then 29 when 2 then 30
when 3 then 58 when 4 then 59 when 5 then 59 when 6 then 60 end)
set @int_month = @int_month + 1
end
if @yun = 'n' begin --윤달이 아닐때
set @tYearDays = @tYearDays + day(@LunaDay)
end
else if @yun = 'y' begin --윤달일때
select @tYearDays = @tYearDays + (case cast(substring(@m_Str,month(@LunaDay), 1) as int)
when 3 then 29 when 4 then 29 when 5 then 30 when 6 then 30 else null end)
set @tYearDays = @tYearDays + day(@LunaDay)
end
select convert(varchar(10),dateadd(dd, @tYearDays-1, '1901-02-19'), 120)
-- ############# 음력 일수 도표!! #####################
create table LunarSet (yyyy int, m1 char(1), m2 char(1), m3 char(1), m4 char(1), m5 char(1), m6 char(1),
m7 char(1), m8 char(1), m9 char(1), m10 char(1), m11 char(1), m12 char(1), y_total int)
insert into LunarSet values(1901, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(1902, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 355)
insert into LunarSet values(1903, 1, 2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2, 383)
insert into LunarSet values(1904, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 354)
insert into LunarSet values(1905, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1906, 1, 2, 2, 4, 1, 2, 1, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(1907, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1908, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(1909, 1, 5, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 384)
insert into LunarSet values(1910, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(1911, 2, 1, 2, 1, 1, 5, 1, 2, 2, 1, 2, 2, 384)
insert into LunarSet values(1912, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 354)
insert into LunarSet values(1913, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 354)
insert into LunarSet values(1914, 2, 2, 1, 2, 5, 1, 2, 1, 2, 1, 1, 2, 384)
insert into LunarSet values(1915, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1916, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1917, 2, 3, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 384)
insert into LunarSet values(1918, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 355)
insert into LunarSet values(1919, 1, 2, 1, 1, 2, 1, 5, 2, 2, 1, 2, 2, 384)
insert into LunarSet values(1920, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 354)
insert into LunarSet values(1921, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 354)
insert into LunarSet values(1922, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1, 2, 2, 384)
insert into LunarSet values(1923, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 354)
insert into LunarSet values(1924, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 354)
insert into LunarSet values(1925, 2, 1, 2, 5, 2, 1, 2, 2, 1, 2, 1, 2, 385)
insert into LunarSet values(1926, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(1927, 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 355)
insert into LunarSet values(1928, 1, 5, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 384)
insert into LunarSet values(1929, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 354)
insert into LunarSet values(1930, 1, 2, 2, 1, 1, 5, 1, 2, 1, 2, 2, 1, 383)
insert into LunarSet values(1931, 2, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1932, 2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 355)
insert into LunarSet values(1933, 1, 2, 2, 1, 6, 1, 2, 1, 2, 1, 1, 2, 384)
insert into LunarSet values(1934, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1935, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(1936, 2, 1, 4, 1, 2, 1, 2, 1, 2, 2, 2, 1, 384)
insert into LunarSet values(1937, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(1938, 2, 2, 1, 1, 2, 1, 4, 1, 2, 2, 1, 2, 384)
insert into LunarSet values(1939, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 1, 2, 354)
insert into LunarSet values(1940, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1941, 2, 2, 1, 2, 2, 4, 1, 1, 2, 1, 2, 1, 384)
insert into LunarSet values(1942, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 355)
insert into LunarSet values(1943, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(1944, 1, 1, 2, 4, 1, 2, 1, 2, 2, 1, 2, 2, 384)
insert into LunarSet values(1945, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 354)
insert into LunarSet values(1946, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 354)
insert into LunarSet values(1947, 2, 5, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 384)
insert into LunarSet values(1948, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 354)
insert into LunarSet values(1949, 2, 2, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(1950, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1951, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1952, 1, 2, 1, 2, 4, 2, 1, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(1953, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 355)
insert into LunarSet values(1954, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 354)
insert into LunarSet values(1955, 2, 1, 4, 1, 1, 2, 1, 2, 1, 2, 2, 2, 384)
insert into LunarSet values(1956, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 354)
insert into LunarSet values(1957, 2, 1, 2, 1, 2, 1, 1, 5, 2, 1, 2, 2, 384)
insert into LunarSet values(1958, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 354)
insert into LunarSet values(1959, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1960, 2, 1, 2, 1, 2, 5, 2, 1, 2, 1, 2, 1, 384)
insert into LunarSet values(1961, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1962, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(1963, 2, 1, 2, 3, 2, 1, 2, 1, 2, 2, 2, 1, 384)
insert into LunarSet values(1964, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 355)
insert into LunarSet values(1965, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 353)
insert into LunarSet values(1966, 2, 2, 5, 2, 1, 1, 2, 1, 1, 2, 2, 1, 384)
insert into LunarSet values(1967, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(1968, 1, 2, 2, 1, 2, 1, 5, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(1969, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(1970, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(1971, 1, 2, 1, 1, 5, 2, 1, 2, 2, 2, 1, 2, 384)
insert into LunarSet values(1972, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(1973, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(1974, 2, 2, 1, 5, 1, 2, 1, 1, 2, 2, 1, 2, 384)
insert into LunarSet values(1975, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 354)
insert into LunarSet values(1976, 2, 2, 1, 2, 1, 2, 1, 5, 2, 1, 1, 2, 384)
insert into LunarSet values(1977, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 354)
insert into LunarSet values(1978, 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 355)
insert into LunarSet values(1979, 2, 1, 1, 2, 1, 6, 1, 2, 2, 1, 2, 1, 384)
insert into LunarSet values(1980, 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 355)
insert into LunarSet values(1981, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 354)
insert into LunarSet values(1982, 2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2, 2, 384)
insert into LunarSet values(1983, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 354)
insert into LunarSet values(1984, 2, 1, 2, 2, 1, 1, 2, 1, 1, 5, 2, 2, 384)
insert into LunarSet values(1985, 1, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 354)
insert into LunarSet values(1986, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 1, 354)
insert into LunarSet values(1987, 2, 1, 2, 2, 1, 5, 2, 2, 1, 2, 1, 2, 385)
insert into LunarSet values(1988, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(1989, 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 355)
insert into LunarSet values(1990, 1, 2, 1, 1, 5, 1, 2, 1, 2, 2, 2, 2, 384)
insert into LunarSet values(1991, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 354)
insert into LunarSet values(1992, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 354)
insert into LunarSet values(1993, 1, 2, 5, 2, 1, 2, 1, 1, 2, 1, 2, 1, 383)
insert into LunarSet values(1994, 2, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 355)
insert into LunarSet values(1995, 1, 2, 2, 1, 2, 2, 1, 5, 2, 1, 1, 2, 384)
insert into LunarSet values(1996, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(1997, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(1998, 2, 1, 1, 2, 3, 2, 2, 1, 2, 2, 2, 1, 384)
insert into LunarSet values(1999, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(2000, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(2001, 2, 2, 2, 3, 2, 1, 1, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(2002, 2, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(2003, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 355)
insert into LunarSet values(2004, 1, 5, 2, 2, 1, 2, 1, 2, 2, 1, 1, 2, 384)
insert into LunarSet values(2005, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(2006, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 2, 2, 384)
insert into LunarSet values(2007, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 354)
insert into LunarSet values(2008, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 354)
insert into LunarSet values(2009, 2, 2, 1, 1, 5, 1, 2, 1, 2, 1, 2, 2, 384)
insert into LunarSet values(2010, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 354)
insert into LunarSet values(2011, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(2012, 2, 1, 6, 2, 1, 2, 1, 1, 2, 1, 2, 1, 384)
insert into LunarSet values(2013, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(2014, 1, 2, 1, 2, 1, 2, 1, 2, 5, 2, 1, 2, 384)
insert into LunarSet values(2015, 1, 2, 1, 1, 2, 1, 2, 2, 2, 1, 2, 2, 355)
insert into LunarSet values(2016, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 354)
insert into LunarSet values(2017, 2, 1, 1, 2, 3, 2, 1, 2, 1, 2, 2, 2, 384)
insert into LunarSet values(2018, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 354)
insert into LunarSet values(2019, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 354)
insert into LunarSet values(2020, 2, 1, 2, 5, 2, 1, 1, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(2021, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(2022, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 355)
insert into LunarSet values(2023, 1, 5, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 384)
insert into LunarSet values(2024, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 354)
insert into LunarSet values(2025, 2, 1, 2, 1, 1, 5, 2, 1, 2, 2, 2, 1, 384)
insert into LunarSet values(2026, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 355)
insert into LunarSet values(2027, 1, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 354)
insert into LunarSet values(2028, 1, 2, 2, 1, 5, 1, 2, 1, 1, 2, 2, 1, 383)
insert into LunarSet values(2029, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 355)
insert into LunarSet values(2030, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 354)
insert into LunarSet values(2031, 2, 1, 5, 2, 1, 2, 2, 1, 2, 1, 2, 1, 384)
insert into LunarSet values(2032, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(2033, 1, 2, 1, 1, 2, 1, 5, 2, 2, 2, 1, 2, 384)
insert into LunarSet values(2034, 1, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 354)
insert into LunarSet values(2035, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 354)
insert into LunarSet values(2036, 2, 2, 1, 2, 1, 4, 1, 1, 2, 1, 2, 2, 384)
insert into LunarSet values(2037, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 354)
insert into LunarSet values(2038, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 354)
insert into LunarSet values(2039, 2, 2, 1, 2, 5, 2, 1, 2, 1, 2, 1, 1, 384)
insert into LunarSet values(2040, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 355)
insert into LunarSet values(2041, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 355)
insert into LunarSet values(2042, 1, 5, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 384)
insert into LunarSet values(2043, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 354)