wonddows2000,Access2000 VBAで勤怠管理をしたいのですが日付に関するSQL分でDATEDIFFの使い方が今ひとつわかりません。
SELECT * ,DATEDIFF(day,入室日,退室日) FROM TABLE WHERE 部署コード=700
WHERE後部分はどう表現したらいいでしょうか。
検査条件(1)
入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD) 且つ入室時間(hh:mm:ss)が09:00:00より後且つ
入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD)+1 且つ退室時間(hh:mm:ss)が09:00:00より前且つ
部署コードが700に対応するテーブルの全データを出力
検査条件(2)上記以外の全データ
TABLE
(文字型) (文字型) (日付型) (日付型) (日付型) (日付型)
部署コード | 氏名 | 入室日 |入室時間 | 退室日 | 退室時間 |
1000 A 2000/12/01 8:16:30 2000/12/01 18:10:20
2000 B 2000/12/02 8:16:30 2000/12/03 8:10:20
700 C 2000/12/03 9:16:30 2000/12/03 18:10:20
3000 A 2000/12/04 8:16:30 2000/12/01 18:10:20
700 D 2000/12/04 8:16:30 2000/12/05 8:10:20
700 E 2000/12/04 8:16:30 2000/12/04 18:10:20
結果(1)
700 C 2000/12/03 9:16:30 2000/12/03 18:10:20
700 D 2000/12/04 8:16:30 2000/12/05 8:10:20
結果(2)
1000 A 2000/12/01 8:16:30 2000/12/01 18:10:20
2000 B 2000/12/02 8:16:30 2000/12/03 8:10:20
3000 A 2000/12/04 8:16:30 2000/12/01 18:10:20
700 E 2000/12/04 8:16:30 2000/12/04 18:10:20
No.1ベストアンサー
- 回答日時:
>入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD) 且つ入室時間(hh:mm:ss)が09:00:00より後且つ
>入室日(YYYY/MM/DD)=退室日(YYYY/MM/DD)+1 且つ退室時間(hh:mm:ss)が09:00:00
この2つは且つ(AND)じゃなくまたは(OR)でないと何もヒットしませんよ
SELECT obone.* , DateDiff("d",[入室日],[退室日]) AS 式1
FROM obone
WHERE
(((obone.部署コード)=700)
AND ((obone.入室日)=[退室日])
AND ((obone.入室時間)>=#12/30/1899 9:0:0#))
OR
(((obone.部署コード)=700)
AND ((obone.退室日)=[入室日]+1)
AND ((obone.退室時間)<=#12/30/1899 9:0:0#));
条件(2)のこれ以外はWhere条件にnotを付けるだけです
SELECT obone.*, DateDiff("d",[入室日],[退室日]) AS 式1
FROM obone
WHERE not (
(((obone.部署コード)=700)
AND ((obone.入室日)=[退室日])
AND ((obone.入室時間)>=#12/30/1899 9:0:0#))
OR
(((obone.部署コード)=700)
AND ((obone.退室日)=[入室日]+1)
AND ((obone.退室時間)<=#12/30/1899 9:0:0#))
);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01722: 数値が無効です
-
フォームで検索 エラーの表示...
-
列名無効について
-
インサート文での条件の指定に...
-
改行コードを削除して取得する...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
エクセルVBAで5行目からオート...
-
ACCESSのクエリで集計で、先頭...
-
Accessでコードを入れると名前...
-
異なるサーバのDBデータ同士を...
-
テーブルの存在チェックについて
-
2つのテーブルAとBをマージ...
-
SQLServer2005のSQL文での別名...
-
FROM の中で CASE を使えるでし...
-
Access テキスト型に対する指定...
-
日本語のテーブル名、カラム名...
-
Accessでテーブルの値をテキス...
-
Accessフォームにクロス集計ク...
-
データがある場合のカラムの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
項目名の制限について
-
フォームで検索 エラーの表示...
-
SQLでグループ化した結果の件数...
-
MySQLで改行を含む文の登録のし...
-
改行コードを削除して取得する...
-
ORA-01722: 数値が無効です
-
Accessで期間指定の売上合計と...
-
列名無効について
-
SQL文 2つのテーブルから、グ...
-
オラクルSQLの累計値取得方法に...
-
【 困 】 ストアドプロシージャ
-
SQL文のエラーについて
-
SQLでNOT INと!=ALLの違い
-
日付に関するSQL分で
-
UPDATE文を教えて頂けな...
-
表どうしで演算するSQLについて
-
SQLServerにおける累積、累計取...
-
Oracleでテーブルの結合について
-
SQLを教えて下さい
-
他のテーブルの抽出条件で更新...
おすすめ情報