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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- C言語・C++・C# C言語(構造体) 3 2022/07/05 20:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2回実行のSQL文を1回にしたい
-
テーブルの最後(最新)のレコー...
-
固定長データのテキストファイ...
-
ACCESSのクエリで空白以降を別...
-
SQLローダーCSV取込で、囲み文...
-
2番目に小さい引数を返す関数
-
int型フィールドにnullを登録で...
-
重複しないデータのみを抽出
-
SELECTした合計値をそのまま割...
-
1の行を固定した上でVBAを用い...
-
ORMについて
-
複数のテーブルから値を合計出...
-
これをSQL文で出来るでしょうか?
-
count関数の値をwhere句で使用...
-
ファイルの漢数字の順番につい...
-
エクセル、並び替え正しくソー...
-
AccessのSQL文で1件のみヒット...
-
レコードの登録順がおかしい
-
SQL*Loader Append
-
アクセスのレポートでレコード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLローダーCSV取込で、囲み文...
-
テーブルの最後(最新)のレコー...
-
int型フィールドにnullを登録で...
-
BLOBやCLOBのパフォーマンスを...
-
テーブルのフィールドの一番長...
-
SELECTした合計値をそのまま割...
-
Null値件数をカウントする式に...
-
配列に指定した値が含まれてい...
-
2回実行のSQL文を1回にしたい
-
【MySQL】 DECIMAL(2,1) に 13...
-
ACCESSのクエリで空白以降を別...
-
CSVからNULL値をインポート
-
入力データの半角スペースと全...
-
固定長データのテキストファイ...
-
複数フィールド対してLIKE '% ...
-
重複しないデータのみを抽出
-
タイムスタンプ型を抽出条件に...
-
一つのフィールドに複数の情報...
-
MYSQLのINSERT記述...
-
MySQLでの近似値順での値の取得...
おすすめ情報