
初めて質問させて頂きます。
現在テーブルの中に「時間の長さ」を管理している項目があります。
具体的には
・1時間30分ですと「130」
・10時間15分ですと「1015」
のように管理してあります。
この項目を10進数で表現し、更に時間を単位として算出したい状態です。
例
1時間30分ですと「130」なので「1.5(h)」として算出したいのです。
このように変換できるファンクションを作成しようとしているのですが、なかなかうまくいきません。
今試している方法としては
"時間"と"分"に分けて考えて、"分"は60で除算しようとしています。
それを足しこむ事で、上の例ですと「1 + 0.5 = 0.5」と算出しているのですが
"分"がうまく割り切れない場合の端数処理や例外の場合を考えると
どのようにファンクションを作ればよいか分からなくなってきました。
どなたか良い例を教えて頂けませんでしょうか。
よろしくおねがいします。

No.3
- 回答日時:
var/60を var*0.01666666 等、逆数(定数)にした方がよいのでは
"/"は基本除算の商の部分なので・・剰余は"%"
まあ~型を全部あわせれば問題ないと思いますけど。
参考までによろしく!!

No.2
- 回答日時:
会社によって、15分単位・30分単位 繰り上げ・下げ、などが違うので
端数処理部分は別に作られてはどうでしょうか。多分、入れ子で呼べるはずです。
最低でもNULLエラーはトラップしたほうが良いです。
>t-ka様
回答ありがとうございます。
大変参考になる回答ありがとうございました。
端数処理を求めるファンクションは別として用意したいと思います。
入力単位は確認していましたが
15分単位や30分単位ではなく1分単位での入力を許可しているとの事でした。
そちらに手を入れずに解決する方向で考えてほしいとの事ですので
まずは端数処理の結果の確認をしてみます。
端数等の問題を無視した場合の基本的な計算方法は
60で除算という方法で問題ないでしょうか?
もっと良い方法をお気づきであればアドバイスを頂ければ幸いです。
No.1
- 回答日時:
> "分"がうまく割り切れない場合の端数処理や例外の場合を考えると
> どのようにファンクションを作ればよいか分からなくなってきました。
ファンクションを作る前に、
割り切れない場合にどういう結果にしたいのかを決めましょう。
>yorozu_ya様
回答ありがとうございます。
方法ばかりを求め目的を忘れておりました。
まずは結果を確認してみます。
端数等の問題を無視した場合の基本的な計算方法は
60で除算という方法で問題ないでしょうか?
もっと良い方法をお気づきであればアドバイスを頂ければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ストアドプロシジャからストア...
-
ストアド実行時のエラー「参照...
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
callで順に実行されるプロシー...
-
Oracle8iでのSQL履歴
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
テーブルの中身を出力するプロ...
-
キャッシュを使わずにSELECTを...
-
データ型について教えてください。
-
ODBCリンクの際にACCESSでは読...
-
カーソル定義での条件分岐
-
SQL Serverについて
-
SQL文のエラー
-
今日の日付が入った行のデータ...
-
オラクルのデフォルトセッション数
-
アナライズでほとんどの処理が...
-
【Excel VBA】 WorksheetやRa...
-
WHERE句の実行順序
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ストアドプロシジャからストア...
-
ストアド実行時のエラー「参照...
-
INSERT文の書式
-
PL/SQLのファンクションでのOUT...
-
ストアドプロシージャからアナ...
-
PL/SQL exceptionを呼び出すには?
-
PL/SQLについて
-
時間項目を60進数から10進数へ...
-
パッケージ内のファンクション...
-
PL/SQL 実行中のSID
-
質問:DBMS_OUTPUTの使用方法
-
毎日決まった時間にSQLを実...
-
ROW_NUMBER()を使用したデータ取得
-
PL/SQLに関して
-
OracleのTEXT_IOについて
-
ストアドについて
-
PL/SQLの例外
-
Function内に記述したdbms_outp...
-
プロシージャ 引数 指定
-
新人の頃皆さんどうやってSQL勉...
おすすめ情報