1

奇妙なもの。MySQLで干支の年を計算しようとしています。ネズミやトラなどの年。12年間隔で行くので、改造する必要があると思いますか?

素敵でクリーンなクエリのための良い提案はありますか?

4

2 に答える 2

1

このようなもの:

SELECT
    (
        CASE
            WHEN MOD(a.year, 12) = 0 THEN 'Monkey'
            WHEN MOD(a.year, 12) = 1 THEN 'Rooster'
            WHEN MOD(a.year, 12) = 2 THEN 'Dog'
            WHEN MOD(a.year, 12) = 3 THEN 'Pig'
            WHEN MOD(a.year, 12) = 4 THEN 'Rat'
            WHEN MOD(a.year, 12) = 5 THEN 'Ox'
            WHEN MOD(a.year, 12) = 6 THEN 'Tiger'
            WHEN MOD(a.year, 12) = 7 THEN 'Hare'
            WHEN MOD(a.year, 12) = 8 THEN 'Dragon'
            WHEN MOD(a.year, 12) = 9 THEN 'Snake'
            WHEN MOD(a.year, 12) = 10 THEN 'Horse'
            WHEN MOD(a.year, 12) = 11 THEN 'Sheep'
        END
    ) AS ZodiacYear
FROM
    table a
于 2012-06-15T03:48:58.160 に答える
1

または、単一の漢字を使用している場合は、

SELECT SUBSTRING('鼠牛虎兔龙蛇马羊候鸡狗猪', (YEAR(CURRENT_DATE)-4)%12+1, 1);

ノート

中国の年は太陰暦を使用します。太陰暦とグレゴリオ暦には数か月の違いがあります。

于 2012-06-15T04:05:00.310 に答える