人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【急ぎ】
SQLのWHERE節で使う条件で、以下をやりたい。
どういう文にしたらいいでしょう?

テーブルXの属性Aと属性B、どちらもdatetime型。
X.AがX.Bよりも早い時刻で、かつ、その差が5分(300秒)以内。

念のため、処理系はSQLServer2000(32bit)です。

質問が単純なので、正解3つくらいまでオープンしてやめます。

●質問者: t-ueno
●カテゴリ:コンピュータ
✍キーワード:SQL オープン 処理系 属性
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● fangoln
●100ポイント

この記述でどうでしょう


where X.A < X.B and X.B - X.A <= '00:05:00'

◎質問者からの返答

X.B - X.A <= '00:05:00'ですか・・・

ちょっと違うっぽいなーと思いつつやってみたところ、ダメでした。

X.B - X.Aの結果がなんかシリアル値みたいなのになりますね(って、こういうのが予想され、どう扱えばいいのか調べられない環境にいるので、ここで質問したのでした)。

なお、質問文は誤解をなくすために条件が2つのように見える書き方にしていますが、条件は1つでOKですよ。

この回答でも、andの後ろが成り立つならandの前の句は自動的に成り立ちますので。

っていうのは大嘘ですね。頭ボケてました。

ちゃんと動きました。

失礼しちゃったので、ポイントはずみます。すいませんでした。


2 ● りくっち
●100ポイント

WHERE (((テーブルX.属性A)<[テーブルX]![属性B]) AND ((DateAdd("s",300,[テーブルX]![属性A]))<[テーブルX]![属性B]))


これはどうでしょうか。

◎質問者からの返答

うまくいきません。

想定していないデータが大量にヒットします。

その後、上の間違いでうまくいっていないことが判明。

うまくいきました。

失礼しちゃったのでポイントはずみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ