- ベストアンサー
SQL Serverのテーブルにて時間の計算をしたい
お世話になります。 勤怠管理のアプリを作っています。 テーブル:SQL Server フロントエンド:MS Access 時間の計算ができません。 [日付] [出勤時刻] [退勤時刻] [勤務時間] というフィールドを作成したのですが、 勤務時間の計算はどのように行えばよろしいでしょうか? それぞれのデータ型はどのようにすればよろしいでしょうか? 単純に考えると[退勤時刻]-[出勤時刻]ですが……。 テーブルもMS Accessの場合はこのような計算式で勤務時間を算出できたのですが、SQL Serverに移行する場合がわかりません。 みなさま、どうぞよろしくお願いします。 ※質問文に不足・不明点がある場合はご指摘いただければ 補足欄にて追記させていただきます
- motsu2006
- お礼率86% (297/344)
- SQL Server
- 回答数2
- ありがとう数6
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
デザイナーでプロではありませんが、チクッと試してみました。 <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文を書いてみました。 ※なんせ、素人です。 ※本回答を待つ間の参考にして下さい。
その他の回答 (1)
- kyofu-chan
- ベストアンサー率23% (109/464)
MS SQL Server なら、datetime 型で datediff 関数でしょうか (私は、日時自体を特定時点からの秒数で保存しています)。
お礼
ご回答、ありがとうございます。 お礼が遅くなりまして、たいへん申し訳ありません。 日時型にしてしまうと、月末の訂正入力(一括入力時)に日付まで入力しなければならなくなるため、日付型はあきらめました。
関連するQ&A
- 時間の計算
勤務時間を管理する為に計算式を作りたいのですが、よく分からなかったので質問いたします。 以下の条件に当てはまる様な式でお願いします。 例えば ・A1に出勤時刻、B1に退勤、C1に通常勤務時間、D1にに残業を表示させるとした場合で、昼休みは1時間(12:00~13:00固定)引きます。 ・出勤時刻は8:00とは限らず、10:00や午後~でも当てはまる様にしたいので、昼休みの時刻を固定して引きたいのです。 ・残業時間とは、通常勤務時間が8時間を超えた場合に適用したいと思います。 以上でC1とD1に入る計算式を知りたいので、宜しくお願いします。 (不明な点がありましたら追加で投稿します。)
- ベストアンサー
- オフィス系ソフト
- SQLサーバーはテーブルの置き場として使えるのでしょうか?
SQLサーバー初心者です。 アクセスのMDBファイルのリンクテーブルとしてSQLサーバーを使う場合、 クエリとかストアドプロシージャー(?)などの機能があるみたいですが よくわからないので 本当にただテーブルの置き場としてSQLサーバーを使うことはできるのでしょうか? 宜しくお願い致します。
- ベストアンサー
- SQL Server
- エクセルの時間計算教えて欲しいです。
エクセルで勤怠管理したいです。 【例】 (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
- Excel での出退謹表の計算のしかたがわかりませ
Excel を勉強中の者です。 出退謹表を作る学習で出退謹表の計算をするのですがどのように計算したらいいのかわかりません。 条件 1.出勤予定時刻より早くきた場合、出勤予定時刻を出勤時間とする。 2.退勤予定時刻より遅く出たら退勤予定時刻を退勤時間とする。 3.その他は実時刻を出退謹時刻とする。 4.勤務時間を求める。(退勤時間-出勤時間) 5.時刻丸めにCEILING関数を用いる。 説明不足ですいませんが詳しい方教えてください。
- ベストアンサー
- オフィス系ソフト
- SQL Server のテーブルについて
SQL Server 2008R2のテーブル(データベース)をWindows 2000に置いて、WinXPやWin7でアクセスしたいのですができますか? ご教授願います。
- 締切済み
- SQL Server
- SQLサーバーのテーブルに対してアクセスで更新クエリを行ないたい
こんばんは。 ・vista ・アクセス2003 ・SQL Server 2005 です。 SQL ServerからテーブルをMDBへリンクしているのですが そのテーブルに対し、アクセス側で更新クエリを実行しようとすると 実行時エラー '3157': ODBC--リンク テーブル'テーブル名'での更新に失敗しました。 [Microsoft][ODBC SQL Server Driver]時間切れになりました。(#0) と言うエラーになり、更新クエリができません。 どうすればアクセスでSQLサーバーのテーブルに対して更新クエリを行えるのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- フレックス勤務制における時間計算について
私の勤務する会社はフレックス制ですが、時間計算が15分単位です。出勤打刻が 8:16、退勤打刻が 16:59の場合、8:30~16:45 しか勤務した計算になりません。15分単位で、出勤時間・退勤時間を切り捨てるのは違法ではないのでしょうか?
- ベストアンサー
- その他(法律)
- SQLサーバーについて
アクセスユーザーです。 データベースを操作するならアクセスよりSQLサーバーの方が良いと聞いたのですが SQLサーバーのイメージがいまいちわかりません。 アクセスは、 ・テーブル ・クエリ ・フォーム ・レポート ・マクロ ・VBA がありますが、 SQLサーバーは、テーブルとクエリしかなくて、 テーブルの置き場として使うソフト。と言う認識であってますか?
- ベストアンサー
- オフィス系ソフト
お礼
ご回答、ありがとうございます。 お礼が遅くなりまして、申し訳ありませんでした。 せっかくご回答いただいたのですが、私が余りに勉強不足のため理解できないままです。 結局、nvarchara型にしてhh:mm形式でデータを持つことになりそうです。 秒単位が省略されてしまいますが、フロントエンドがAccessでクエリベース・私の無知が故にかなりの妥協案ではありますが……。 そうなると、24時以降の勤務時間が保持(計算)できないんですがね……。