في SQL ، هل يجب أن يكون A بين البيان من الشكل بين أدنى وأعلى؟
-
06-07-2019 - |
سؤال
على سبيل المثال ، إذا فعلت:
SELECT * FROM Users WHERE UserId BETWEEN 100 AND 1
ماذا ستكون النتائج؟
يحرر: آسف ، أنت على حق ، يجب أن أحدد. لم أكن أرغب في معرفة العدد الدقيق للصفوف التي ستعود ، أردت فقط أن أعرف ما إذا كانت ستعيد الصفوف التي تتراوح بين 1 و 100 أو إذا كانت ستعود من الصفوف min(UserId)
إلى 1 و 100 إلى max(UserId)
.
المحلول
a BETWEEN b AND c
هو اختصار ل
b <= a and a <= c
لذلك بين 100 و 1 لن يتطابق مع أي شيء.
نصائح أخرى
ربما يعتمد هذا على RDBMS ، ولكن لماذا لا تجربها فقط؟ في MySQL ، لا أحصل على صفوف من استفسار ما بين 100 و 1 بينما أحصل على صفوف من طلب ما بين 1 و 100.
لا تنتمي إلى StackOverflow