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)
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
いくつか問題があるようですが。
intervalでは「年齢」がわからないので、DBの外でプログラミングが必要かと思います。
一年の長さは閏年があるので変わるし、時間の基点がないと「年齢」は分からないってこと。
数日の誤差を含んでよいなら力技がありそうだけど。
interval型は日付型ではないのでフォーマット変換もうまくいかないようですね。
urizakです
そうでしたか、DB外での処理が必要ですか…
楽しようと考えてはいけないということですね。
さっそくJavaで年齢プログラムを作ってみようと思います。
どうもありがとうございました。
No.2
- 回答日時:
力技ってのは、
そのintervalを'2000/01/01'に加算し、'YYY'でフォーマットするとか。
100才以上の人にも対応してあげてください。
最大2日のずれに収まるのではないかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
2回実行のSQL文を1回にしたい
-
一つのフィールドに複数の情報...
-
BLOBやCLOBのパフォーマンスを...
-
Null値件数をカウントする式に...
-
テーブルのフィールドの一番長...
-
配列に指定した値が含まれてい...
-
重複しないデータのみを抽出
-
mysql accessでの操作について
-
入力データの半角スペースと全...
-
MySQLでのフィールドの結合
-
差込印刷で数字を漢数字で表現...
-
複数フィールド対してLIKE '% ...
-
空白を含む差分クエリーについて
-
固定長データのテキストファイ...
-
int型フィールドにnullを登録で...
-
count関数の値をwhere句で使用...
-
group byの並び順を変えるだけ...
-
単一グループのグループ関数で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
int型フィールドにnullを登録で...
-
BLOBやCLOBのパフォーマンスを...
-
配列に指定した値が含まれてい...
-
SELECTした合計値をそのまま割...
-
2回実行のSQL文を1回にしたい
-
ACCESSのクエリで空白以降を別...
-
固定長データのテキストファイ...
-
【MySQL】 DECIMAL(2,1) に 13...
-
テーブルのフィールドの一番長...
-
Null値件数をカウントする式に...
-
MySQLでの近似値順での値の取得...
-
一つのフィールドに複数の情報...
-
ファイルメーカー10で重複デー...
-
CSVからNULL値をインポート
-
重複しないデータのみを抽出
-
複数フィールド対してLIKE '% ...
-
Datetime型とTimestamp型の使い...
-
phpmyadminで条件付きの検索置...
おすすめ情報