sql >> Database teknologi >  >> RDS >> Sqlserver

T-SQL MELLEM problem max værdi først

Som dokumentationen siger:

Siger ikke noget om at bytte start_expression og end_expression til at matche min og max værdier. Du skal forvente resultatet som dokumenteret, ikke som du mener det burde.

For de nysgerrige derude specificerer ANSI SQL99-standarden, at BETWEEN-prædikatet skal indeholde en sætning til SYMMETRIC eller ASYMMETRIC sammenligning. Kun den SYMMETRISKE har lov til at bytte start_range og end_range, den ASYMMETRIC skal være streng. Den ASYMMETRISKE form er den implicitte form. Med andre ord en implementering, der fortolker A BETWEEN X and Y som (A>=X AND A<=Y) OR (A>=Y AND A<=X) , som OP foreslår, er ikke standardkompatibel.



  1. ClusterControl:Introduktion til New Query Monitor

  2. Hvad er omkostningerne ved at bruge AUTOINCREMENT til SQLite på Android?

  3. Oracle får DISTINCT numerisk med en CLOB i forespørgslen

  4. Kolonne _ID findes ikke fejl, selvom den findes i tabellen