奇妙なもの。MySQLで干支の年を計算しようとしています。ネズミやトラなどの年。12年間隔で行くので、改造する必要があると思いますか?
素敵でクリーンなクエリのための良い提案はありますか?
奇妙なもの。MySQLで干支の年を計算しようとしています。ネズミやトラなどの年。12年間隔で行くので、改造する必要があると思いますか?
素敵でクリーンなクエリのための良い提案はありますか?
このようなもの:
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
または、単一の漢字を使用している場合は、
SELECT SUBSTRING('鼠牛虎兔龙蛇马羊候鸡狗猪', (YEAR(CURRENT_DATE)-4)%12+1, 1);
ノート
中国の年は太陰暦を使用します。太陰暦とグレゴリオ暦には数か月の違いがあります。