![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
初めて質問させて頂きます。
現在テーブルの中に「時間の長さ」を管理している項目があります。
具体的には
・1時間30分ですと「130」
・10時間15分ですと「1015」
のように管理してあります。
この項目を10進数で表現し、更に時間を単位として算出したい状態です。
例
1時間30分ですと「130」なので「1.5(h)」として算出したいのです。
このように変換できるファンクションを作成しようとしているのですが、なかなかうまくいきません。
今試している方法としては
"時間"と"分"に分けて考えて、"分"は60で除算しようとしています。
それを足しこむ事で、上の例ですと「1 + 0.5 = 0.5」と算出しているのですが
"分"がうまく割り切れない場合の端数処理や例外の場合を考えると
どのようにファンクションを作ればよいか分からなくなってきました。
どなたか良い例を教えて頂けませんでしょうか。
よろしくおねがいします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.3
- 回答日時:
var/60を var*0.01666666 等、逆数(定数)にした方がよいのでは
"/"は基本除算の商の部分なので・・剰余は"%"
まあ~型を全部あわせれば問題ないと思いますけど。
参考までによろしく!!
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.2
- 回答日時:
会社によって、15分単位・30分単位 繰り上げ・下げ、などが違うので
端数処理部分は別に作られてはどうでしょうか。多分、入れ子で呼べるはずです。
最低でもNULLエラーはトラップしたほうが良いです。
>t-ka様
回答ありがとうございます。
大変参考になる回答ありがとうございました。
端数処理を求めるファンクションは別として用意したいと思います。
入力単位は確認していましたが
15分単位や30分単位ではなく1分単位での入力を許可しているとの事でした。
そちらに手を入れずに解決する方向で考えてほしいとの事ですので
まずは端数処理の結果の確認をしてみます。
端数等の問題を無視した場合の基本的な計算方法は
60で除算という方法で問題ないでしょうか?
もっと良い方法をお気づきであればアドバイスを頂ければ幸いです。
No.1
- 回答日時:
> "分"がうまく割り切れない場合の端数処理や例外の場合を考えると
> どのようにファンクションを作ればよいか分からなくなってきました。
ファンクションを作る前に、
割り切れない場合にどういう結果にしたいのかを決めましょう。
>yorozu_ya様
回答ありがとうございます。
方法ばかりを求め目的を忘れておりました。
まずは結果を確認してみます。
端数等の問題を無視した場合の基本的な計算方法は
60で除算という方法で問題ないでしょうか?
もっと良い方法をお気づきであればアドバイスを頂ければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 『4色問題③』 2 2022/11/14 00:31
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- Excel(エクセル) Excel 時間の引き算でマイナスを表示させることは出来ますか 3 2023/06/14 21:54
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- 物理学 時間を語るなら、(複数の時間の正体)を知る必要が有る。 1 2023/02/16 22:14
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
- 物理学 微分方程式の物理現象への適用について 3 2023/05/14 12:22
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- Excel(エクセル) エクセルでの延長表計算式を教えてください 5 2022/12/21 12:20
- その他(ビジネス・キャリア) 日報の実務労働時間の集計について困っています。 2 2023/06/09 19:00
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Accessの数値から時間に変換する時点で困っています。
その他(データベース)
-
oracle 文字列 01:45 を時間に変換した
Oracle
-
10進法の数を60進法の数に変換するには
数学
-
-
4
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
5
Accessで所要時間の足し算
その他(データベース)
-
6
access アクセス 例:11:45 → 11.75 時間を変換する式
Access(アクセス)
-
7
アクセスのクエリで秒→時間、時間→秒に変換したい
Access(アクセス)
-
8
[MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)
その他(Microsoft Office)
-
9
エクセルで10進法から60進法に変換する方法
Excel(エクセル)
-
10
On ErrorでエラーNoが0
Visual Basic(VBA)
-
11
0.5時間などの時間計算の方法
その他(家事・生活情報)
-
12
PostgreSQLのtimestamp型で時間(分)を抽出したい
PostgreSQL
-
13
文字列を time 型に変換するには。
PostgreSQL
-
14
エクセルで60進法計算の仕方を教えてください
数学
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ストアド実行時のエラー「参照...
-
PL/SQL 実行中のSID
-
ストアドプロシジャからストア...
-
ROW_NUMBER()を使用したデータ取得
-
時間項目を60進数から10進数へ...
-
PL/SQL exceptionを呼び出すには?
-
ストアドプロシージャからアナ...
-
質問:DBMS_OUTPUTの使用方法
-
Access VBAで行ラベルが定義さ...
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
エクセルVBAでUserFormを起動し...
-
PL/SQLカーソルの2重FORループ...
-
SQL*Loaderでのsysdate使用
-
SQL*Plusの終了はquit?exit?
-
全角空白のTRIMができない...
-
likeとsubstrの使いわけについて
-
PL/SQLにて、マスタから取得し...
-
SQL*Loader フォーマット変換...
-
SQLで部分的にGROUP BYしたいとき
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ストアドプロシジャからストア...
-
時間項目を60進数から10進数へ...
-
PL/SQL exceptionを呼び出すには?
-
ストアド実行時のエラー「参照...
-
ストアドプロシージャからアナ...
-
PL/SQLで連結(||)と結合(=>)の違い
-
ROW_NUMBER()を使用したデータ取得
-
質問:DBMS_OUTPUTの使用方法
-
パッケージ内のファンクション...
-
PL/SQLについて
-
ストアドプロシージャからスト...
-
OracleのTEXT_IOについて
-
Oracle: PACKAGE BODY の分割
-
INSERT文の書式
-
GET_DDLについて
-
PL/SQL 実行中のSID
-
Function内に記述したdbms_outp...
-
PL/SQLの例外
-
ストアドプロシージャ結果のフ...
-
プロシージャ 引数 指定
おすすめ情報