|
返信数:
11
-
ページ数:
1
-
最新投稿
:
2004/11/22 14:42
最新投稿者: 左上段回し蹴り
-
スレッド表示形式:
|
|
|
|
|
DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 13:59
|
|
お世話になります。
OSでは日付を秒数で所持していますが、OracleのDATE型のデータを前述の値 (秒数)に変換する方法はOracleにはあるのでしょうか? ---------- YYYY-MM-DD HH24:MI:SS → XXXXXXXXXXX秒 に変換するSQLを作成する。 ---------- Oracleのマニュアルを見ても該当するような関数は無いようです。(私が探し きれてないだけかもしれませんが。) やはりSQL(またはPL/SQL)ではなく他のプログラム言語で作成するしかないの か判断し兼ねています。
どなたかご存知、もしくは同じような体験をされた方がいましたら、教えても らえないでしょうか?
|
|
|
|
RE:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:09
ofukuda さんへの返信です。
|
|
>お世話になります。 > >OSでは日付を秒数で所持していますが、OracleのDATE型のデータを前述の値 >(秒数)に変換する方法はOracleにはあるのでしょうか? >---------- > YYYY-MM-DD HH24:MI:SS → XXXXXXXXXXX秒 > に変換するSQLを作成する。 >---------- >Oracleのマニュアルを見ても該当するような関数は無いようです。(私が探し >きれてないだけかもしれませんが。) >やはりSQL(またはPL/SQL)ではなく他のプログラム言語で作成するしかないの >か判断し兼ねています。 > >どなたかご存知、もしくは同じような体験をされた方がいましたら、教えても >らえないでしょうか?
UNIXなどのような、1970 年 1 月 1 日午前 0 時 0 分 0 秒からの通算時間 のことでしょうか?
|
|
投稿数:
5,194
登録日時:
00/04/03
|
|
|
RE:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:13
ofukuda さんへの返信です。
|
|
>OSでは日付を秒数で所持していますが、OracleのDATE型のデータを前述の値 >(秒数)に変換する方法はOracleにはあるのでしょうか?
いつの日付を基準にするのですか? とりあえず、(変換したい日付 - 基準の日付) * 24 * 60 * 60 で秒数になると思いますが。
|
|
|
|
RE[1]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:13
カサブランカ さんへの返信です。
|
|
>UNIXなどのような、1970 年 1 月 1 日午前 0 時 0 分 0 秒からの通算 時間 >のことでしょうか?
そうです。その通りです。UCTの1970/1/1からの通算秒数のことです。
|
|
投稿数:
1,423
登録日時:
04/10/29
|
|
|
RE:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:19
ofukuda さんへの返信です。
|
|
Unix通算秒等のことですよね? 以前、同じ経験をしました。別な人間が調べたのですが、 結局、出来ない。という結論に達し、Cで作成して対応しました。 (OTNだったのかは分かりませんが、似たようなサイトでも調べて いたようでした。)
|
|
|
|
RE:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:20
ofukuda さんへの返信です。
|
|
こんにちは。
実験する環境がないので確実な答えではありません、また、 的を得ているかもわからなくてすみません。 過去に以下のようなことをした記憶があります。 たしかその日の00:00:00からの秒計算です。 select to_char( sysdate, 'SSSSS' ), to_char( sysdate, 'YYYY-MM-DD HH24:MI:SS' ) from dual; 参考までに・・・
|
|
|
|
RE[2]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:24
ofukuda さんへの返信です。
|
|
>>UNIXなどのような、1970 年 1 月 1 日午前 0 時 0 分 0 秒からの通算 >時間 >>のことでしょうか? > >そうです。その通りです。UCTの1970/1/1からの通算秒数のことです。 ORACLEの関数はないと思いますので、自分で関数を作ることになると思います。 内部形式は日付型で通算時間を持っている訳ではありませんので... ケースによっては単純な式ですので、SQL文として書くことも可能ですが、 お勧めはし難いです。 単純な場合は、以下のような形式の式となります。 秒+分*60+時*3600+(通算日-1)*86400+(年-70)*31536000+((年-69)/4)*86400
|
|
|
|
RE[1]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:31
左上段回し蹴り さんへの返信です。
|
|
>こんにちは。 > >実験する環境がないので確実な答えではありません、また、 >的を得ているかもわからなくてすみません。 >過去に以下のようなことをした記憶があります。 >たしかその日の00:00:00からの秒計算です。 >select to_char( sysdate, 'SSSSS' ), > to_char( sysdate, 'YYYY-MM-DD HH24:MI:SS' ) > from dual; >参考までに・・・ これは聞いたことがあったような... その日の通算秒、その年の通算日は、ORACLEで取れるのであれば、 ケースによって式はかなり単純になりますね。
|
|
|
|
RE[1]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:31
jiropochi さんへの返信です。
|
|
>>OSでは日付を秒数で所持していますが、OracleのDATE型のデータを前述の値 >>(秒数)に変換する方法はOracleにはあるのでしょうか? > >いつの日付を基準にするのですか? >とりあえず、(変換したい日付 - 基準の日付) * 24 * 60 * 60 >で秒数になると思いますが。
返信ありがとうございます。 それは考えたのですが、基準の日はOS依存の1970/01/01の0:00になると思いま すが、この基準日をあまり意識したロジックにしたくないのです。
|
|
|
|
RE[1]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:34
hiratsuka110918 さんへの返信です。
|
|
>Unix通算秒等のことですよね? >以前、同じ経験をしました。別な人間が調べたのですが、 >結局、出来ない。という結論に達し、Cで作成して対応しました。 >(OTNだったのかは分かりませんが、似たようなサイトでも調べて >いたようでした。)
返信ありがとうございます。 やはりそうですか・・・・。・・・・ふぅ。
|
|
|
|
RE[2]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:40
カサブランカ さんへの返信です。
|
|
>>こんにちは。 >> >>実験する環境がないので確実な答えではありません、また、 >>的を得ているかもわからなくてすみません。 >>過去に以下のようなことをした記憶があります。 >>たしかその日の00:00:00からの秒計算です。 >>select to_char( sysdate, 'SSSSS' ), >> to_char( sysdate, 'YYYY-MM-DD HH24:MI:SS' ) >> from dual; >>参考までに・・・ >これは聞いたことがあったような... >その日の通算秒、その年の通算日は、ORACLEで取れるのであれば、 >ケースによって式はかなり単純になりますね。
返信ありがとうございます。 参考にさせて頂きます。
|
|
|
|
RE[2]:DATE型から秒数を取得する方法について
投稿時刻:
2004/11/22 14:42
カサブランカ さんへの返信です。
|
|
こんにちは。
>これは聞いたことがあったような... >その日の通算秒、その年の通算日は、ORACLEで取れるのであれば、 >ケースによって式はかなり単純になりますね。 ただ、本件はどうやら何年前の通算を秒でと いうことみたいなので、ぜんぜん違う答え になってしまいました。失礼しました・・
|
|
|
|