age_chart.sql
--
-- Oracle18.0 グローバリゼーション・サポート・ガイド
-- https://docs.oracle.com/cd/E96517_01/nlspg/customizing-locale-data.html#GUID-8F9C2D9F-C6D0-447D-8780-33D6982D5B2C
-- 12.12 NLSカレンダ・ユーティリティを使用したカレンダのカスタマイズ
--
-- 和暦は使ってはならない。明日元号が変わるかもしれない。
--
-- history
-- 2019/02/13 2019/05/01 からの元号は未発表
-- 2019/04/01 2019/05/01 からの元号は「令和」
--
COLUMN SEIREKI FORMAT A4 HEADING "西暦"
COLUMN WAREKI FORMAT A29 HEADING "和暦"
COLUMN AGE FORMAT 990 HEADING "年齢"
-- SPOOLのパスに SYSDATEのYYYYを含める
COLUMN SYSTEM_YEAR NEW_VALUE SYSTEM_YEAR
SELECT TO_CHAR(SYSDATE, 'YYYY') AS SYSTEM_YEAR
FROM DUAL ;
SPOOL age_chart_&&SYSTEM_YEAR..txt
-- Windows ↑, UNIX/Linux では ↓ を有効に
-- SPOOL age_chart_\&&SYSTEM_YEAR..txt
SELECT
TO_CHAR(B.YEARS, 'FM0000') AS SEIREKI
, CASE
WHEN B.YEARS = 1868 THEN
'明治 01/09/08 ~'
WHEN B.YEARS = 1912 THEN
'明治 45/07/29 | 大正 01/07/30'
WHEN B.YEARS = 1926 THEN
'大正 15/12/24 | 昭和 01/12/25'
WHEN B.YEARS = 1989 THEN
'昭和 64/01/07 | 平成 01/01/08'
WHEN B.YEARS = 2019 THEN
'平成 31/04/30 | 令和 01/05/01' -- 2019/05/01 からの元号は「令和」
ELSE
TO_CHAR(TO_DATE(TO_CHAR(B.YEARS, 'FM0000'), 'YYYY'), 'EE YY', 'NLS_CALENDAR = ''Japanese Imperial''')
END AS WAREKI
, B.YEAR_TO - B.YEARS AS AGE
FROM(
-- NUMBER FROM ~ TO
SELECT
A.YEAR_FROM + ROWNUM - 1 AS YEARS
, A.YEAR_TO
FROM(
SELECT
1868 AS YEAR_FROM -- Meiji First year
, TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')) AS YEAR_TO -- this year
FROM DUAL
) A
CONNECT BY LEVEL <= A.YEAR_TO - A.YEAR_FROM + 1 -- Hierarchical Querie
) B ;
SPOOL OFF
2023年版
西暦 和暦 年齢
---- ----------------------------- ----
1868 明治 01/09/08 ~ 155
1869 明治 02 154
1870 明治 03 153
1871 明治 04 152
1872 明治 05 151
1873 明治 06 150
1874 明治 07 149
1875 明治 08 148
1876 明治 09 147
1877 明治 10 146
1878 明治 11 145
1879 明治 12 144
1880 明治 13 143
1881 明治 14 142
1882 明治 15 141
1883 明治 16 140
1884 明治 17 139
1885 明治 18 138
1886 明治 19 137
1887 明治 20 136
1888 明治 21 135
1889 明治 22 134
1890 明治 23 133
1891 明治 24 132
1892 明治 25 131
1893 明治 26 130
1894 明治 27 129
1895 明治 28 128
1896 明治 29 127
1897 明治 30 126
1898 明治 31 125
1899 明治 32 124
1900 明治 33 123
1901 明治 34 122
1902 明治 35 121
1903 明治 36 120
1904 明治 37 119
1905 明治 38 118
1906 明治 39 117
1907 明治 40 116
1908 明治 41 115
1909 明治 42 114
1910 明治 43 113
1911 明治 44 112
1912 明治 45/07/29 | 大正 01/07/30 111
1913 大正 02 110
1914 大正 03 109
1915 大正 04 108
1916 大正 05 107
1917 大正 06 106
1918 大正 07 105
1919 大正 08 104
1920 大正 09 103
1921 大正 10 102
1922 大正 11 101
1923 大正 12 100
1924 大正 13 99
1925 大正 14 98
1926 大正 15/12/24 | 昭和 01/12/25 97
1927 昭和 02 96
1928 昭和 03 95
1929 昭和 04 94
1930 昭和 05 93
1931 昭和 06 92
1932 昭和 07 91
1933 昭和 08 90
1934 昭和 09 89
1935 昭和 10 88
1936 昭和 11 87
1937 昭和 12 86
1938 昭和 13 85
1939 昭和 14 84
1940 昭和 15 83
1941 昭和 16 82
1942 昭和 17 81
1943 昭和 18 80
1944 昭和 19 79
1945 昭和 20 78
1946 昭和 21 77
1947 昭和 22 76
1948 昭和 23 75
1949 昭和 24 74
1950 昭和 25 73
1951 昭和 26 72
1952 昭和 27 71
1953 昭和 28 70
1954 昭和 29 69
1955 昭和 30 68
1956 昭和 31 67
1957 昭和 32 66
1958 昭和 33 65
1959 昭和 34 64
1960 昭和 35 63
1961 昭和 36 62
1962 昭和 37 61
1963 昭和 38 60
1964 昭和 39 59
1965 昭和 40 58
1966 昭和 41 57
1967 昭和 42 56
1968 昭和 43 55
1969 昭和 44 54
1970 昭和 45 53
1971 昭和 46 52
1972 昭和 47 51
1973 昭和 48 50
1974 昭和 49 49
1975 昭和 50 48
1976 昭和 51 47
1977 昭和 52 46
1978 昭和 53 45
1979 昭和 54 44
1980 昭和 55 43
1981 昭和 56 42
1982 昭和 57 41
1983 昭和 58 40
1984 昭和 59 39
1985 昭和 60 38
1986 昭和 61 37
1987 昭和 62 36
1988 昭和 63 35
1989 昭和 64/01/07 | 平成 01/01/08 34
1990 平成 02 33
1991 平成 03 32
1992 平成 04 31
1993 平成 05 30
1994 平成 06 29
1995 平成 07 28
1996 平成 08 27
1997 平成 09 26
1998 平成 10 25
1999 平成 11 24
2000 平成 12 23
2001 平成 13 22
2002 平成 14 21
2003 平成 15 20
2004 平成 16 19
2005 平成 17 18
2006 平成 18 17
2007 平成 19 16
2008 平成 20 15
2009 平成 21 14
2010 平成 22 13
2011 平成 23 12
2012 平成 24 11
2013 平成 25 10
2014 平成 26 9
2015 平成 27 8
2016 平成 28 7
2017 平成 29 6
2018 平成 30 5
2019 平成 31/04/30 | 令和 01/05/01 4
2020 令和 02 3
2021 令和 03 2
2022 令和 04 1
2023 令和 05 0
2022年版
西暦 和暦 年齢
---- ----------------------------- ----
1868 明治 01/09/08 ~ 154
1869 明治 02 153
1870 明治 03 152
1871 明治 04 151
1872 明治 05 150
1873 明治 06 149
1874 明治 07 148
1875 明治 08 147
1876 明治 09 146
1877 明治 10 145
1878 明治 11 144
1879 明治 12 143
1880 明治 13 142
1881 明治 14 141
1882 明治 15 140
1883 明治 16 139
1884 明治 17 138
1885 明治 18 137
1886 明治 19 136
1887 明治 20 135
1888 明治 21 134
1889 明治 22 133
1890 明治 23 132
1891 明治 24 131
1892 明治 25 130
1893 明治 26 129
1894 明治 27 128
1895 明治 28 127
1896 明治 29 126
1897 明治 30 125
1898 明治 31 124
1899 明治 32 123
1900 明治 33 122
1901 明治 34 121
1902 明治 35 120
1903 明治 36 119
1904 明治 37 118
1905 明治 38 117
1906 明治 39 116
1907 明治 40 115
1908 明治 41 114
1909 明治 42 113
1910 明治 43 112
1911 明治 44 111
1912 明治 45/07/29 | 大正 01/07/30 110
1913 大正 02 109
1914 大正 03 108
1915 大正 04 107
1916 大正 05 106
1917 大正 06 105
1918 大正 07 104
1919 大正 08 103
1920 大正 09 102
1921 大正 10 101
1922 大正 11 100
1923 大正 12 99
1924 大正 13 98
1925 大正 14 97
1926 大正 15/12/24 | 昭和 01/12/25 96
1927 昭和 02 95
1928 昭和 03 94
1929 昭和 04 93
1930 昭和 05 92
1931 昭和 06 91
1932 昭和 07 90
1933 昭和 08 89
1934 昭和 09 88
1935 昭和 10 87
1936 昭和 11 86
1937 昭和 12 85
1938 昭和 13 84
1939 昭和 14 83
1940 昭和 15 82
1941 昭和 16 81
1942 昭和 17 80
1943 昭和 18 79
1944 昭和 19 78
1945 昭和 20 77
1946 昭和 21 76
1947 昭和 22 75
1948 昭和 23 74
1949 昭和 24 73
1950 昭和 25 72
1951 昭和 26 71
1952 昭和 27 70
1953 昭和 28 69
1954 昭和 29 68
1955 昭和 30 67
1956 昭和 31 66
1957 昭和 32 65
1958 昭和 33 64
1959 昭和 34 63
1960 昭和 35 62
1961 昭和 36 61
1962 昭和 37 60
1963 昭和 38 59
1964 昭和 39 58
1965 昭和 40 57
1966 昭和 41 56
1967 昭和 42 55
1968 昭和 43 54
1969 昭和 44 53
1970 昭和 45 52
1971 昭和 46 51
1972 昭和 47 50
1973 昭和 48 49
1974 昭和 49 48
1975 昭和 50 47
1976 昭和 51 46
1977 昭和 52 45
1978 昭和 53 44
1979 昭和 54 43
1980 昭和 55 42
1981 昭和 56 41
1982 昭和 57 40
1983 昭和 58 39
1984 昭和 59 38
1985 昭和 60 37
1986 昭和 61 36
1987 昭和 62 35
1988 昭和 63 34
1989 昭和 64/01/07 | 平成 01/01/08 33
1990 平成 02 32
1991 平成 03 31
1992 平成 04 30
1993 平成 05 29
1994 平成 06 28
1995 平成 07 27
1996 平成 08 26
1997 平成 09 25
1998 平成 10 24
1999 平成 11 23
2000 平成 12 22
2001 平成 13 21
2002 平成 14 20
2003 平成 15 19
2004 平成 16 18
2005 平成 17 17
2006 平成 18 16
2007 平成 19 15
2008 平成 20 14
2009 平成 21 13
2010 平成 22 12
2011 平成 23 11
2012 平成 24 10
2013 平成 25 9
2014 平成 26 8
2015 平成 27 7
2016 平成 28 6
2017 平成 29 5
2018 平成 30 4
2019 平成 31/04/30 | 令和 01/05/01 3
2020 令和 02 2
2021 令和 03 1
2022 令和 04 0
2019年版
西暦 和暦 年齢
---- ----------------------------- ----
1868 明治 01/09/08 ~ 151
1869 明治 02 150
1870 明治 03 149
1871 明治 04 148
1872 明治 05 147
1873 明治 06 146
1874 明治 07 145
1875 明治 08 144
1876 明治 09 143
1877 明治 10 142
1878 明治 11 141
1879 明治 12 140
1880 明治 13 139
1881 明治 14 138
1882 明治 15 137
1883 明治 16 136
1884 明治 17 135
1885 明治 18 134
1886 明治 19 133
1887 明治 20 132
1888 明治 21 131
1889 明治 22 130
1890 明治 23 129
1891 明治 24 128
1892 明治 25 127
1893 明治 26 126
1894 明治 27 125
1895 明治 28 124
1896 明治 29 123
1897 明治 30 122
1898 明治 31 121
1899 明治 32 120
1900 明治 33 119
1901 明治 34 118
1902 明治 35 117
1903 明治 36 116
1904 明治 37 115
1905 明治 38 114
1906 明治 39 113
1907 明治 40 112
1908 明治 41 111
1909 明治 42 110
1910 明治 43 109
1911 明治 44 108
1912 明治 45/07/29 | 大正 01/07/30 107
1913 大正 02 106
1914 大正 03 105
1915 大正 04 104
1916 大正 05 103
1917 大正 06 102
1918 大正 07 101
1919 大正 08 100
1920 大正 09 99
1921 大正 10 98
1922 大正 11 97
1923 大正 12 96
1924 大正 13 95
1925 大正 14 94
1926 大正 15/12/24 | 昭和 01/12/25 93
1927 昭和 02 92
1928 昭和 03 91
1929 昭和 04 90
1930 昭和 05 89
1931 昭和 06 88
1932 昭和 07 87
1933 昭和 08 86
1934 昭和 09 85
1935 昭和 10 84
1936 昭和 11 83
1937 昭和 12 82
1938 昭和 13 81
1939 昭和 14 80
1940 昭和 15 79
1941 昭和 16 78
1942 昭和 17 77
1943 昭和 18 76
1944 昭和 19 75
1945 昭和 20 74
1946 昭和 21 73
1947 昭和 22 72
1948 昭和 23 71
1949 昭和 24 70
1950 昭和 25 69
1951 昭和 26 68
1952 昭和 27 67
1953 昭和 28 66
1954 昭和 29 65
1955 昭和 30 64
1956 昭和 31 63
1957 昭和 32 62
1958 昭和 33 61
1959 昭和 34 60
1960 昭和 35 59
1961 昭和 36 58
1962 昭和 37 57
1963 昭和 38 56
1964 昭和 39 55
1965 昭和 40 54
1966 昭和 41 53
1967 昭和 42 52
1968 昭和 43 51
1969 昭和 44 50
1970 昭和 45 49
1971 昭和 46 48
1972 昭和 47 47
1973 昭和 48 46
1974 昭和 49 45
1975 昭和 50 44
1976 昭和 51 43
1977 昭和 52 42
1978 昭和 53 41
1979 昭和 54 40
1980 昭和 55 39
1981 昭和 56 38
1982 昭和 57 37
1983 昭和 58 36
1984 昭和 59 35
1985 昭和 60 34
1986 昭和 61 33
1987 昭和 62 32
1988 昭和 63 31
1989 昭和 64/01/07 | 平成 01/01/08 30
1990 平成 02 29
1991 平成 03 28
1992 平成 04 27
1993 平成 05 26
1994 平成 06 25
1995 平成 07 24
1996 平成 08 23
1997 平成 09 22
1998 平成 10 21
1999 平成 11 20
2000 平成 12 19
2001 平成 13 18
2002 平成 14 17
2003 平成 15 16
2004 平成 16 15
2005 平成 17 14
2006 平成 18 13
2007 平成 19 12
2008 平成 20 11
2009 平成 21 10
2010 平成 22 9
2011 平成 23 8
2012 平成 24 7
2013 平成 25 6
2014 平成 26 5
2015 平成 27 4
2016 平成 28 3
2017 平成 29 2
2018 平成 30 1
2019 平成 31/04/30 | 令和 01/05/01 0
参考
Oracle SQL 連番や連続した日付を取得
Oracle 新元号対応
Oracle Database に 新しい元号を追加してみる。(NLSカレンダ・ユーティリティlxegen) ※2019/4/1追記:新元号「令和」の設定方法を追記