• ベストアンサー
  • すぐに回答を!

SQL Serverのテーブルにて時間の計算をしたい

お世話になります。 勤怠管理のアプリを作っています。 テーブル:SQL Server フロントエンド:MS Access 時間の計算ができません。 [日付] [出勤時刻] [退勤時刻] [勤務時間] というフィールドを作成したのですが、 勤務時間の計算はどのように行えばよろしいでしょうか? それぞれのデータ型はどのようにすればよろしいでしょうか? 単純に考えると[退勤時刻]-[出勤時刻]ですが……。 テーブルもMS Accessの場合はこのような計算式で勤務時間を算出できたのですが、SQL Serverに移行する場合がわかりません。 みなさま、どうぞよろしくお願いします。 ※質問文に不足・不明点がある場合はご指摘いただければ  補足欄にて追記させていただきます

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数3655
  • ありがとう数6

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

  • ベストアンサー
  • 回答No.2
noname#22222

デザイナーでプロではありませんが、チクッと試してみました。 <SQL Server 2000のテーブルをAccessのフォームに表示する> ID     日付         出勤時刻 退勤時刻  勤務時間 1      2006/06/10    8:00:00  17:30:00       0 2      2006/06/10    8:00:00  18:30:00 0    |(expession)| ----|------------   1|09:30    |   2|10:30    | 上のテーブルから勤務時間を計算してAccessのフォームに表示してみました。 一応、目的は達成したようです。 ・smalldatetime。 ・SQL文は、 SELECT convert(char(5),退勤時刻 -出勤時刻,14) FROM Table1; Boolsonline で convert で検索してSQL文を書いてみました。 ※なんせ、素人です。 ※本回答を待つ間の参考にして下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答、ありがとうございます。 お礼が遅くなりまして、申し訳ありませんでした。 せっかくご回答いただいたのですが、私が余りに勉強不足のため理解できないままです。 結局、nvarchara型にしてhh:mm形式でデータを持つことになりそうです。 秒単位が省略されてしまいますが、フロントエンドがAccessでクエリベース・私の無知が故にかなりの妥協案ではありますが……。 そうなると、24時以降の勤務時間が保持(計算)できないんですがね……。

関連するQ&A

  • SQL Server2000のテーブルのデータ型

    SQL Server2000のテーブルのデータ型には、自動でインクリメントされる整数型(Accessでいうところのオートナンバー型)が見当たらないのですが、無いのでしょうか? 何か別の操作で出来るのですか? よろしくお願いします。

  • Excel での出退謹表の計算のしかたがわかりませ

    Excel を勉強中の者です。 出退謹表を作る学習で出退謹表の計算をするのですがどのように計算したらいいのかわかりません。 条件 1.出勤予定時刻より早くきた場合、出勤予定時刻を出勤時間とする。 2.退勤予定時刻より遅く出たら退勤予定時刻を退勤時間とする。 3.その他は実時刻を出退謹時刻とする。 4.勤務時間を求める。(退勤時間-出勤時間) 5.時刻丸めにCEILING関数を用いる。 説明不足ですいませんが詳しい方教えてください。

  • エクセルで残業時間を出す計算式を教えて下さい

    例えば、 出勤8:13分 退勤19:15分 勤務時間(休憩1時間除く)10:02分 この場合で、8時時間を超えた時間の2:02分の算出方法がわかりません。 単純に、 勤務時間から、8時間00分を超えた時間を出す計算式を教えて下さい!

その他の回答 (1)

  • 回答No.1

MS SQL Server なら、datetime 型で datediff 関数でしょうか (私は、日時自体を特定時点からの秒数で保存しています)。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答、ありがとうございます。 お礼が遅くなりまして、たいへん申し訳ありません。 日時型にしてしまうと、月末の訂正入力(一括入力時)に日付まで入力しなければならなくなるため、日付型はあきらめました。

関連するQ&A

  • 時間の計算

    勤務時間を管理する為に計算式を作りたいのですが、よく分からなかったので質問いたします。 以下の条件に当てはまる様な式でお願いします。 例えば ・A1に出勤時刻、B1に退勤、C1に通常勤務時間、D1にに残業を表示させるとした場合で、昼休みは1時間(12:00~13:00固定)引きます。 ・出勤時刻は8:00とは限らず、10:00や午後~でも当てはまる様にしたいので、昼休みの時刻を固定して引きたいのです。 ・残業時間とは、通常勤務時間が8時間を超えた場合に適用したいと思います。 以上でC1とD1に入る計算式を知りたいので、宜しくお願いします。 (不明な点がありましたら追加で投稿します。)

  • EXCEL 時間計算について

    出勤から退勤までの時間を計算したいです。しかし、お昼休憩の1時間は省きます。また、算出した数字は、15分単位で表示し、14分は00分で表示します。C列にいれる式はどうなりますでしょうか?  A列   B列   C列 (出勤)(退勤)(勤務時間)  8:45  16:32  7:45

  • 電卓での時間の計算の仕方

    アルバイトの勤務時間を出勤時刻と退出時刻から算出する場合に、電卓で簡単に計算できないでしょうか? 単純に退出時刻-出勤時刻で出るものもあるんですけど、  出 9:45  退 17:03 とかの場合、そのまま引く(1703-945)と時から分へのくり下がりがちゃんとできず変なことになってきてしまいます。 暗算したほうが速いような気もするのですが、これをやるのは数学苦手、面倒なことも苦手な店長なので、なにか良い案をお願いします。

  • エクセル 60進法 時間 計算

    エクセルでの勤務時間の計算方法なのですが、 例えば、出勤 23時00分  退勤  7時00分     出勤 7時00分   退勤  15時00分 の勤務時間をエクセルで足し算、引き算、合計計算の方法を教えてもらえませんか? 合計計算のように別々の複数の合計計算を出来るようには出来ないのでしょうか? 宜しくお願いします>

  • エクセルでの時間計算について

    エクセルで勤怠管理表を作ろうとしていますが、わからない部分がありますのでご教授ください。 セルの書式をh:mmとして退社時間から出勤時間を引けば実際に勤務した時間が算出されるというところまでは出来たのですが、以下に挙げた二つの機能を作るにはどうしたらよいのでしょうか? 1.デフォルトで12:00から13:00、22:00から22:30を休憩時間としたいため、その時間を挟んで勤務した場合には、自動的に勤務時間からその時間を引きたい。  例)10:00から18:00まで勤務した場合、休憩時間を1時間引いて算出勤務時間を7時間としたい。 2.日をまたいだ勤務形態だと、うまく時間が算出されないので、正しく算出したい。  例)21:00に出社して、翌日の05:00まで勤務した場合、休憩時間を30分引いて算出勤務時間を8時間30分としたい。 セルに直接計算式を書くより、マクロを使ってうまく出来ればベターだと思っているのですが、良い方法がありましたらご教授ください。よろしくお願いいたします。

  • Excel時間計算で対象となる時間数を求める方法は

    Officeバージョン:2003 PC環境:WindowsXP Excelの時間関数を基にした経過時間(対象時間)を算出する方法について質問させて頂きます。 勤怠を管理するExcelを作成しているのですが、勤務体系の中に「深夜勤務」という項目があり、 対象時間が「22:00~翌5:00」までとなっています。 これまでに出勤時間や退勤時間を基にした勤務時間などの差引計算は問題無く解決しているのですが、 計算対象となる出勤時間~退勤時間の中に、今回の対象となる「22:00~翌5:00」がどれだけ含まれているかを計算する過程でつまずいている状況です。 時間計算でシリアル値などは問題無く使用可能です。 これまでに質問で色々探しましたが見つからず...というかどの様なワードで検索したら良いかわからず、 同様の質問の発見に至りませんでした。 良い計算のプロセスなどありましたらご教授頂ければ幸いです。 ps.ソフトウェアはExcel限定でVBAなどのプログラムは現在のところ想定しておりません。

  • エクセルの時間計算教えて欲しいです。

    エクセルで勤怠管理したいです。 【例】 (1)14:01に出勤した (2)18:05に退勤した ※実際の勤務時間4時間4分 条件:15分刻み 上記の条件に基づいた場合 (1)14:15から計算 (2)18:00として計算 ※勤怠整理した場合の勤務時間、3時間45分 必ず15分刻みとして計算したいです。 そこで知りたい関数があります。 (1)エクセルに14:01と入力した場合、自動的に14:15分からとして認識できる関数 (2)逆に18:05と入力した場合、自動的に18:00として認識できる関数 (3)時給を25ドルとした場合、3時間45分×25ドルで計算したい。 上記(1)~(3)の関数を教えていただけますか。 よろしくお願いします。

  • SQL文による残業時間の算出について

    MySQLにて、勤怠プログラムを作成しているのですが、例えば出勤時間と退勤時間をそれぞれdatetime型で保持していたとして、「1ヶ月間の勤務時間の合計を算出」と言った形であれば SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF( '退勤時間', '出勤時間' )))) AS WORK_TIME FROM 'テーブル名' のような形で算出できるかと思いますが、例えば、「1ヶ月間の残業時間の合計を算出」といったことはSQL文のみで実現可能なのでしょうか?ちなみに残業時間の定義は「平日の18時以降、土日出勤時間は除く」となります。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 深夜勤務時間の計算教えて下さい

    深夜勤務時間を計算したいのですが、何方か教えて下さい。 出勤14:00 退勤22:45だとして、22:00以降の時間を計算したいのですが、答えの表示を00:00ではなく0.00(10進数っていうんでしょうか・・・)で返すようにしたいのです。 とても、急いでいます。お願いします。

  • エクセルで給与計算

    エクセルで給与計算をしています。 今まで自分で出勤時間と退勤時間を差し引き勤務時間を入力しておりました。 自動的に勤務時間を差し引けると勉強しておりましたが、なかなか上手くいきません。どなたか教えてくださいますようお願いします! 下記に私が解らない点を記載しております。 ・24時をまたいで、翌朝3amまでの勤務もある。 ・遅刻などで、10:00出勤が10:34出勤があると計算方法がわからなくなる。 宜しくお願いします。