前提・実現したいこと
PostgreSQLから取得したデータをマクロで加工して表示するExcelを作っています。
稼働日マスタに格納されている稼働開始時刻、稼働終了時刻から稼働時間を計算し、最終的に「9(時間)」「7.5(時間)」という表示をさせたいです。
Excel上で時間のみのシリアル値に出来れば、そこからは実現できそうなのですが、そこまでたどり着くことができません。
稼働開始時刻、稼働終了時刻はtimestamp型です。
SQL側、Excel側どちらからのアプローチでもよいのでご教授いただきたいです。
宜しくお願い致します。
元のソースコード
SQL
1 SELECT kadou_ymd -- 稼働年月日 2 , kadou_end_time - kadou_start_time AS kadou_time -- 稼働時間(稼働終了時刻-稼働開始時刻) 3 FROM mt_kadoubi
引き算の結果kadou_timeがinterval型で取り出される。
これをExcelに吐き出すと「09:00:00」という文字列で返ってくる。
シリアル値ではないためこのままでは使えない。
試したこと、発生している問題
time型にキャストして取り出してみたが、Excelに吐き出すと今日の日付が追加されてしまった。(例:2020/2/6 09:00:00)
実際はシリアル値なのでこの状態だとExcelのTIMEVALUE関数はエラーとなり使えない。
postgreSQL
1 SELECT kadou_ymd -- 稼働年月日 2 , cast((kadou_end_time - kadou_start_time) as time) AS kadou_time -- 稼働時間(稼働終了時刻-稼働開始時刻) 3 FROM mt_kadoubi
利用環境
OS:windows10
Excel:office2019
PostgreSQL:ver10.11
回答1件
あなたの回答
tips
プレビュー