sql >> データベース >  >> RDS >> Sqlserver

LINQ クエリの 2 つの日付の間にある日付範囲

    私はあなたの要件について100%明確ではありません。最初の行では、「入力日付範囲が 2 つの日付フィールドの間にある」レコードを要求しましたが、「追加」行では、予定の開始日が等しくないレコードを返したくないことを暗示しています。入力の終了日。これらは 2 つの異なる要件であると考えているため、2 つの異なるクエリを提供します。

    最初のクエリは次のとおりです:

        from t1 in db.Appointments
        where date1 >= t1.AppointmentStart
        where date2 <= t1.AppointmentEnd
        select t1;
      

    2 番目のクエリは次のとおりです。

        from t1 in db.Appointments
        where date2 > t1.AppointmentStart
        where date1 < t1.AppointmentEnd
        select t1;
      

    最初のクエリは、入力日付を「含む」レコードを返します。

    2 番目のクエリは、入力日付と「重複」するレコードを返します。

    重複クエリが必要な方が理にかなっていると思います。これは、「14:00 - 15:00 は 15:00-16:00 の値を返さない」という要件を満たします。

    要件の理解に誤りがあり、変更が必要な場合はお知らせください。



    1. 削除されたレコードを取得するSQLクエリ

    2. Node.js MySQLモジュールのmysql.createConnectionとmysql.createPoolの違いは何ですか?

    3. ストアドプロシージャを実行するためのHibernate4のネイティブOracleConnectionへのハンドルの取得

    4. JPAは多対多で持続します