※ ChatGPTを利用し、要約された質問です(原文:PostgreSQLのフィールドデータ型Intervalについて)
PostgreSQLのフィールドデータ型Intervalについて
このQ&Aのポイント
JSP+PostgreSQLで登録のためのシステムを作成している中で、入力された誕生日から現在の年齢を計算し、年齢検索を行えるようにするためにIntervalフィールドを使っています。
しかし、データを取り出す際に正しい年齢を取得できない問題が発生しており、解決策を模索しています。
詳細な環境情報や試したSQL文も共有しており、問題の解決に関するヒントを求めています。
PostgreSQLのフィールドデータ型Intervalについて
urizakaです
JSP+PostgreSQLで登録のためのシステムを作成しているのですが、その中で入力された誕生日から現在の年齢を計算し、たまったデータから後で年齢検索(たとえば20歳~29歳)を行えるようにしたいと考え、Interval(正確にはInterval Year)というフィールドを使ってみたのですが、このフィールドに
insert into exam(age) values(now() - '1999/12/31');
というようなSQL文を使ってデータを入れると
age
----------------------------
949 days 12:59:22.1089999974
となります、今度はこのデータを年齢として取り出したいのですが、この状態からどうやって年齢を取り出して良いのかがわかりません。
select to_Char(age,'YY') from exam where code_ID =1
とSQL文を入力しても「00」という回答が帰ってきてしまいます。
どのようにすれば、ちゃんと年齢を返すようになるのでしょうか?
すみませんが、ご存知の方がいらっしゃったら教えてください。
ちなみに、
update exam set age='20years' where code_id=1
とSQL文を入力すると「20years」と入力されることにヒントがありそうな気もするのですが・・・
環境 OS:Windows2000
DB:PostgreSQL7.2.1(Windows-Native版)
言語:Java(J2SDK1.4)
よろしくお願いします。
お礼
urizakです そうでしたか、DB外での処理が必要ですか… 楽しようと考えてはいけないということですね。 さっそくJavaで年齢プログラムを作ってみようと思います。 どうもありがとうございました。