मैं, मैं खोजता हूं कि क्या मैं तिथि आरक्षित कर सकता हूं, यह मेरी टेबल टाइमस्टैम्प है:

+------------+-----------+-----------------+----------------+-------------+--------------+----------------+--------------+------------+
| idReserver | demandeur | reserverAvecQui | reserverWhy    | saisieQuant | reserverDate | reserverStartH | reserverEndH | reserverOk |
+------------+-----------+-----------------+----------------+-------------+--------------+----------------+--------------+------------+
|          1 | test.fr  | anonyme         | Je ne sais pas |  1524167863 |   1524175200 |     1524222000 |   1524240000 |       NULL |
+------------+-----------+-----------------+----------------+-------------+--------------+----------------+--------------+------------+

मैं इस अनुरोध एसक्यूएल का प्रयास करता हूं:

यह मेरा अनुरोध है:

select * from calendar WHERE reserverStartH >=1524222000  AND reserverEndH <=1524240000;

अनुरोध है इसे ढूंढें, यदि यह मिल जाए, तो हम इसे आरक्षित नहीं कर सकते क्योंकि मानव इस टाइमस्टैम्प पर व्यस्त है। लेकिन अब मुझे यह अनुरोध चाहिए:

select * from calendar WHERE reserverStartH >=1524222000  AND reserverEndH <=1524222222;

डेटा नहीं है, अगर डेटा नहीं है तो मैं इसे आरक्षित नहीं कर सकता, लेकिन यह संभव नहीं है क्योंकि 1524222000 और 1524222222 में मानव इस समय व्यस्त है।

मैं डेटा खोजने के लिए कैसे करूं?

अनुरोध डेटा समान है हम नए टाइमस्टैम्प नहीं डाल सकते हैं मानव व्यस्त है अनुरोध डेटा समान नहीं है हम नए टाइमस्टैम्प सम्मिलित कर सकते हैं, मानव इस समय मुक्त है

-1
geek pédagogique lcms 20 अप्रैल 2018, 00:22

1 उत्तर

सबसे बढ़िया उत्तर

आप जांचना चाहते हैं कि क्या दो अंतरालों में एक चौराहा है।

उदाहरण के लिए यदि (ए, बी) प्रतिच्छेद करता है (सी, डी)। उदाहरण: यदि (10,20) का एक प्रतिच्छेदन (15, 25) है। यह (15,20) करता है।

प्रतिच्छेदन मौजूद है या नहीं यह पता लगाने के लिए तार्किक स्थिति है: c <= b AND d >= a

इसे अपने एसक्यूएल में अनुवाद करना:

select * from calendar 
  WHERE 1524222000 <= reserverEndH AND 1524222222 >= reserverStartH;
0
The Impaler 20 अप्रैल 2018, 00:47