• ベストアンサー

oracle 文字列 01:45 を時間に変換した

こんにちは。 現在 oracle11を使用しています。 作業時間 を 文字型で '01:45' として格納したデータを Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。 ご教授ください。

  • Oracle
  • 回答数1
  • ありがとう数13

質問者が選んだベストアンサー

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.1

こんにちわ。 > 作業時間 を 文字型で '01:45' として格納したデータを > Date型の'1.75'というデータに変換したいのですが、どうしたらできるでしょうか。 先ずDate 型についてですが内部では7バイト数値型で、整数部で基準日からの経過日数を 小数部で当日の経過秒を表しています。 01:45 は、時:分 を表していると思いますが、日付の部分はどのようにお考えでしょうか? 強引にやれば、to_date('01:45', 'HH24:MI') ですが、これでは日付情報が欠落 しているため、以下のように目的の値とならない可能性があります。 SQL> select sysdate, to_char(to_date('01:45', 'HH24:MI'), 'YYYY/MM/DD HH24:MI:SS') from dual; SYSDATE TO_CHAR(TO_DATE('01:45','HH24:MI'),'YYYY/MM/DDHH24:MI:SS' -------- --------------------------------------------------------- 14-04-23 2014/04/01 01:45:00

ko_m_R2050
質問者

お礼

muyoshid様 お返事が遅くなり申し訳ありません。 丁寧なご説明ありがとうございました。 使わせて頂きます。

関連するQ&A

  • 文字列変換について

    質問させてください。 携帯のサイトで各種(Vodafone, au)携帯電話からBBSに感想を入力する画面を作成しました。 入力される文字列は文字、数字、絵文字があります。 入力されたデータはPostgreSQLのDBに格納しています。 その格納された文字列(絵文字含む)を各種携帯で 表示してみたところ、お互いの絵文字が問題に なったため、変換処理を追加しました。 ======================================== $msg = "********";(DBから取得した文字列(絵文字含む)) $emoji = file(emoji_file.txt); for($r=0;$r<count($emoji);$r++){ $string = chop($emoji[$r]); $emoji_data = split("===", $string); if(strstr($msg, $emoji_data[0])){ echo("HIT"); $msg = eregi_replace($emoji_data[0], $emoji_data[1], $msg); } } echo($msg); ====================================== emoji_file.txt $Fr===1 $G-===281 $G.===287 ====================================== 上記のプログラムで、 DBから取得した文字列内にemoji_file.txt にある絵文字データがあれば数値に変換したいと 考えていますが、"HIT"が表示されるにも かかわらず変換されずに表示されます。 これは、"$G."などVodafoneの絵文字が 普通の文字列と違うからでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • オラクルのDATE型について

    オラクルのDATE型について教えて下さい。 以前の質問にも同じような質問があったのですが、内容を少し違うようなので 質問させていただきます。 オラクルの8.1.6のデータベースにおいて "A" テーブルの中の "B" 項目をdate型にしました. AテーブルのB項目のデータが現在は "YY/MM/DD"形式で格納されていますが、それを "YYYY/MM/DD"形式で格納したいのですが、どのようにすれば良いでしょうか? やはり、テーブルを再度作りなおさないと行けないのでしょうか? ちなみに開発環境はOracle8.1.6 オブジェクトブラウザ-を使用しています。 宜しくお願い致します。

  • 文字列変換

    他人が作ったExcelデータを修正しなければいけなくなったのですが時間がかかって手間取っています。 する作業は、選択した文字列を ・カタカナは全角 ・ローマ字は半角 ・数字は半角 とすることです。 手作業ですると時間がかかるので、 マクロとかVBAで作業に無駄をなくせればと思いました。 それで調べてみたのですがStrConv関数というのが出てきましたが、 文字種ではしてくれなさそうなのです。 参考になりそうなものはないでしょうか?

  • ORACLEで使用する文字列について

    ORACLE8.1.7をWINDOWS2000SERVER クライアントを2000・XP・VISTA環境で使用しています。 ORACLEで使用するときに 株式会社 → (株) 有限会社 → (有) 財団法人 → (財) 社団法人 → (社) ・ ・ ・ このような特殊文字列??を使うと問題あるのでしょうか? また、そのほかにも使用しないほうがいい文字列などありますでしょうか? よろしくお願いします。

  • 変数に格納している文字列の読み込み

    ある変数($text)にHTMLデータが格納されています。 その変数内の文字列を、1行ずつ読み込む方法はあるのでしょうか。 $textをファイルに変換して読み込むべきでしょうか。 ぞ存知の方、ご教授をお願いします。

    • ベストアンサー
    • PHP
  • VBA(Excel)で文字列内の"~"記号だけ半角変換したくない

    VBA(Excel)で、StrConvを用いて、文字列内に存在する記号を全角→半角に変換して、再び文字列内に格納するようにしています。   strValue = StrConv(strValue, vbNarrow) しかし、"~"も"~"に変換されてしまいます。 "~"は半角変換しないようにしたいのですが、何か良い手法はありますでしょうか? どなたかご教授下さいませ。 よろしくお願い致します。

  • Oracleのデータ型

    お知恵をお貸し下さい。 改行コードごと文字データを格納したいのですが どのデータ型が良いのでしょうか。 ユーザーにはメモ帳のように自由に入力してもらい、 印刷する時には改行コードを判定して改行して出力することを想定しています。 ちなみにOracle8iを利用しています。

  • エクセル:漢字混じりの日時文字列を時間データに変換

    日・時・分が漢字で入力されたエクセルの文字列データを、時間データに変換したいです。 マクロでも関数でも、どちらでもよいです。 どのようにすればよいでしょうか? よろしくお願いします。 例) -- 2日8時間 → 56:00 2時間30分 → 2:30 5分 → 0:05 4時間 → 4:00

  • 文字を16進変換

    C言語にて関数などを使わずに計算式なので文字を16進数に変換したいのですがどのような処理にしたらいいでしょうか?? char型で用意した変数に1文字を格納し、それをアスキーコードの16進数に変換したいです。 よろしくお願いします。

  • 文字変換について

    文字変換について 文字変換について教えて下さい。 office2003 OSWin2000にて使用しています。 顔文字を使って変換していましたが、どこかボタンを押してしまったらしく、「かお」でスペースボタンにて文字変換をすると最初の一文字づつ変換が始まり「可尾」となり文字変換一覧も出てきません。 原因と通常変換に戻すやり方を教えてください。  現在は「かお」以外は通常に変換できています。 IMEスタンダードにて使用しています。 よろしくお願い致します。