システム日付の年だけを取得するには?

解決


雀吉さん  2004-08-12 12:59:04  No: 115555  IP: [192.*.*.*]

VB.NETで開発している者です。
Oracleからシステム日付の年だけを
取得する方法があったら教えてください。

編集 削除
マグ  2004-08-12 13:13:15  No: 115556  IP: [192.*.*.*]

システム日付ってWindowsの右下にある時計のことですか?

ッということで話を進めますと、

[ソース]

Dim hiduke As String
hiduke = Year(Now)
MessageBox.Show(hiduke + "年で〜す。")

になります。

編集 削除
いな  2004-08-12 17:29:57  No: 115557  IP: [192.*.*.*]

ORACLEサーバのシステム年?
それとも操作している端末のシステム年?

VBの掲示板に書いているから恐らく後者ですよね?

編集 削除
雀吉さん  2004-08-13 10:21:20  No: 115558  IP: [192.*.*.*]

後者のことです。
マグさんの書き込みのように
Year(Now)でも取得できましたが、
後者のやり方も
よろしければお願いします。

編集 削除
雀吉さん  2004-08-13 10:22:59  No: 115559  IP: [192.*.*.*]

すみません、前者の間違いです。
ここの掲示板だと
場違いでしょうか。

編集 削除
いな  2004-08-13 17:50:57  No: 115560  IP: [192.*.*.*]

前者ならば
オラクルのシステム日付取得関数(=SYSDATE)で取得できます。
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL
のSQLを発行し、結果がサーバのシステム年が取得できます。

後者はマグさんのやり方でVBのシステム日付取得関数(=NOW)で取得できます。

編集 削除
雀吉さん  2004-08-16 14:14:07  No: 115561  IP: [192.*.*.*]

返事遅れてすみません。
ありがとうございました。

編集 削除
雀吉さん  2004-08-17 09:47:36  No: 115562  IP: [192.*.*.*]

たびたびすみません。
取得した年を年度に直したいのですが
(例えば2004年3月なら2003年度)
Oracleから取得した年にそのような処理を
施すことは可能でしょうか。

編集 削除
nanashi  2004-08-17 10:34:13  No: 115563  IP: [192.*.*.*]

月が3以下なら年から1引けばイイと思う。
Oracleは使ったこと無いけど、SQLServerとかなら幾つか関数組み合わせれば自力で出来ます。
出来なければ普通に取ってきて、VB上で加工すればイイだけの話だし。

編集 削除
ひろ  2004-08-19 19:25:30  No: 115564  IP: [192.*.*.*]

年度始まり=4月1日なので、年度は3ヶ月遅れでやってくる。
ということで、これでいいのでは?  試してないですけど。

Oracle:
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -3),'YYYY') FROM SYS.DUAL

VB:
Year(DateAdd("m",-3, Now))

編集 削除