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

開始日と終了日の間の値を選択します

    私はこの問題を範囲の重複を探すものとして読みました:

    したがって、T1からT3の範囲のデータがあります。そして、範囲T2からT4との重複を探します。オーバーラップするので必要です。ただし、データがT1〜T3で、範囲がT4〜T5の場合は、オーバーラップしないので、必要ありません。

    このクエリでそれを行うことができます:

    Select id 
      from eventos_sapo 
     where startDate <= '2015-02-14'
       AND endDate >= '2013-01-03';
    

    したがって、指定された日付(2015年2月14日)以降に開始された場合は含めないでください。または2013年1月3日より前に終了した場合は、含めないでください。重複しているため、他のすべてを含めてください。

    1つの例として:データは指定された範囲の開始日以降に終了し、データの開始日は終了前であるため、次のいずれかの場合になります。

    Data:           |---|
    Given range:      |---|
    
    Data:           |-------|
    Given range:      |---|
    
    Data:             |---|
    Given range:    |---|
    
    Data:             |---|
    Given range:    |-------|
    


    1. Mysqlは、削除セットnullで複数の外部キーを使用してテーブルを作成します

    2. ストアドプロシージャのパラメータリストで式(関数呼び出しなど)の結果を使用しますか?

    3. XamppはMacOSXでMySQLサーバーを起動しませんか?

    4. SELECTステートメントpostgresの動的列