漢字で沙羅ドットコム・お寺さん向けのソフトウェア沙羅(紗羅・娑羅)

管理人ブログ

西暦と和暦、、、

コンバートしようとしたAccessデータに「誕生日和暦元号」「その数字年」だけがありました。
(月日がない)

そんな無茶な、、しかし、誕生日が正しく入っていないのに、旧暦や節分で年齢を出せとは、、、それは無理な話であります。(新暦でしたら出ますが)

とりあえず、新暦ベースでいきますと
沙羅に必要なのは西暦なので単に西暦だけを生成・セットしたい場合は、とりあえず和暦元号の空白文字を消し、数字を全部半角にして、元年⇒1 にして
更新クエリーで

UPDATE genzai_birth
SET seireki = 
  IIf(birthwareki= "令和", [wsarekinen] + 2018,
  IIf(birthwareki= "昭和", [wsarekinen] + 1925,
  IIf(birthwareki= "平成", [wsarekinen] + 1988,
  IIf(birthwareki= "明治", [wsarekinen] + 1867,
  IIf(birthwareki= "大正", [wsarekinen] + 1911, Null)))))

でとりあえず、、、よしとしましょう。

年号一覧表を作ってリンク張って更新したり日付型にして、云々、、、は遅いですもんね。

※sqlでは

UPDATE dbo.Genzai
SET 
    Birthwareki = genzai_birth.birthwareki,
    BirthJapanYear = genzai_birth.BirthJapanYear,
    birthnen = genzai_birth.birthnen
FROM dbo.Genzai
INNER JOIN dbo.genzai_birth ON dbo.Genzai.ID = dbo.genzai_birth.ID

これで、10万行の処理が一瞬で完了、、、、
と思いきや、、、

データの中に平成36年とかあったりして、、、結局何やらかんやらと2時間くらいかかってしまいました。。。。

ついでに干支の一括作成

UPDATE GENZAI
SET eto = 
  CASE ((birthNEN - 4) % 12)
    WHEN 0 THEN '子'
    WHEN 1 THEN '丑'
    WHEN 2 THEN '寅'
    WHEN 3 THEN '卯'
    WHEN 4 THEN '辰'
    WHEN 5 THEN '巳'
    WHEN 6 THEN '午'
    WHEN 7 THEN '未'
    WHEN 8 THEN '申'
    WHEN 9 THEN '酉'
    WHEN 10 THEN '戌'
    WHEN 11 THEN '亥'
    ELSE NULL
  END;

旧暦または基準日で干支を計算する場合、年の変わる基準日を’YYYY-MM-DD’として、、、

UPDATE your_table_name
SET eto = 
  CASE 
    WHEN birth_date >= CAST('YYYY-MM-DD' AS DATE) THEN
      CASE ((birth_year - 4) % 10)
        WHEN 0 THEN '甲'
        WHEN 1 THEN '乙'
        WHEN 2 THEN '丙'
        WHEN 3 THEN '丁'
        WHEN 4 THEN '戊'
        WHEN 5 THEN '己'
        WHEN 6 THEN '庚'
        WHEN 7 THEN '辛'
        WHEN 8 THEN '壬'
        WHEN 9 THEN '癸'
      END +
      CASE ((birth_year - 4) % 12)
        WHEN 0 THEN '子'
        WHEN 1 THEN '丑'
        WHEN 2 THEN '寅'
        WHEN 3 THEN '卯'
        WHEN 4 THEN '辰'
        WHEN 5 THEN '巳'
        WHEN 6 THEN '午'
        WHEN 7 THEN '未'
        WHEN 8 THEN '申'
        WHEN 9 THEN '酉'
        WHEN 10 THEN '戌'
        WHEN 11 THEN '亥'
      END
    ELSE NULL
  END;

コメント

この記事へのトラックバックはありません。

関連記事

最近の記事
  1. 年度末の会計処理 ※「前年度繰越金」「次年度へ繰越」の科目がない時は作って入力してください。
  2. 「戒名授興証」「生前法名授与証」を印刷
  3. WindowsUpdateで沙羅で2回めが起動しなくなった??※解決済
  4. 「Failed to load resources from resource file Please check your Setup」のエラー
  5. 鳥の下に山の人名外字
  6. 注意!!「互換モード」にしないで下さい。(ショートカット右クリック→互換性タブ→チェックを外す)
  7. 兼務されているお寺さんへ。種別で分けるのがいいです。
  8. 『今日はこの人だけに年忌案内を出したい』ときは「絞り込み検索」か「印刷プレビュー⇒ページ指定印刷」
  9. 「来年の年忌にあたらない『法名』のみ」を抽出するには?全部を検索後、『年忌名⇒「祥月命日」』を絞り込み
  10. 最重要!命日は必ず「命日入力キー」より和暦選択(右側の表から行を選択)して入力してください。
logo