VB.NETで開発している者です。
Oracleからシステム日付の年だけを
取得する方法があったら教えてください。
システム日付ってWindowsの右下にある時計のことですか?
ッということで話を進めますと、
[ソース]
Dim hiduke As String
hiduke = Year(Now)
MessageBox.Show(hiduke + "年で〜す。")
になります。
ORACLEサーバのシステム年?
それとも操作している端末のシステム年?
VBの掲示板に書いているから恐らく後者ですよね?
後者のことです。
マグさんの書き込みのように
Year(Now)でも取得できましたが、
後者のやり方も
よろしければお願いします。
すみません、前者の間違いです。
ここの掲示板だと
場違いでしょうか。
前者ならば
オラクルのシステム日付取得関数(=SYSDATE)で取得できます。
SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL
のSQLを発行し、結果がサーバのシステム年が取得できます。
後者はマグさんのやり方でVBのシステム日付取得関数(=NOW)で取得できます。
返事遅れてすみません。
ありがとうございました。
たびたびすみません。
取得した年を年度に直したいのですが
(例えば2004年3月なら2003年度)
Oracleから取得した年にそのような処理を
施すことは可能でしょうか。
月が3以下なら年から1引けばイイと思う。
Oracleは使ったこと無いけど、SQLServerとかなら幾つか関数組み合わせれば自力で出来ます。
出来なければ普通に取ってきて、VB上で加工すればイイだけの話だし。
年度始まり=4月1日なので、年度は3ヶ月遅れでやってくる。
ということで、これでいいのでは? 試してないですけど。
Oracle:
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -3),'YYYY') FROM SYS.DUAL
VB:
Year(DateAdd("m",-3, Now))
ツイート | ![]() |