• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Excel VBA】 DBがOracleの場合のSQL文)

【Excel VBA】OracleDBの場合のSQL文 - 入室時刻と退室時刻の差分が60分以内のレコードを抽出する方法

このQ&Aのポイント
  • ExcelのVBAでOracleDBを使用して、入室時刻と退室時刻の差分が60分以内のレコードを抽出するためのSQL文をどのように書けばよいかを教えてください。
  • Datediff関数が使用できないため、別の方法を探しています。
  • 現在、以下のようなSQL文を試してみましたが、正しいですか? "AND ((退室時刻 - 入出時刻) * 24) <= 1 "

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

  • ベストアンサー
  • kozai_001
  • ベストアンサー率58% (18/31)
回答No.1

>入室時刻・退室時刻共に"yyyy/mm/dd hh:nn:ss"形式 入室時刻・退室時刻はオラクルの項目でDateのシリアル値ですか。 もしSQL文内で宣言した項目 "yyyy/mm/dd hh:nn:ss"形式に 変換してるなら TEXTになるので"AND ((退室時刻 - 入出時刻) * 24) <= 1 "の 演算条件設定なりたたなくなりますけどいかかがでしょう。 オラクルの項目でDateなら 記載されている条件でいけると思いますよ。 ここから余談 SQL文内で演算させた結果に対して、条件をつけるのは典型的な実行が遅くなる作りですよ。 あらかじめ計算させた項目もっておいたほうがいいように思えます。 すいません ご存知でしたら読み捨ててください。

motsu2006
質問者

お礼

入室時刻・退室時刻共に[日付/時刻]型です←テーブルをデザインモードで確認しました(Accessでリンクをはって)。 というわけで、間違ってはいないということですよね??? 余談以下も参考になります。 確かにそうですね、しかしDBは既に稼働中のもので私にはデザインする権限も技術もなく……。 ありがとうございました!

関連するQ&A