sql >> Database >  >> RDS >> Sqlserver

T-SQL TUSSEN probleem maximale waarde eerst

Zoals de documentatie zegt:

Zegt niets over het verwisselen van de start_expression en end_expression om overeen te komen met min en max waarden. U mag het resultaat verwachten zoals gedocumenteerd, niet zoals u denkt dat het zou moeten.

Voor de nieuwsgierigen die er zijn, specificeert de ANSI SQL99-standaard dat het predikaat BETWEEN een clausule moet bevatten voor SYMMETRISCHE of ASYMMETRISCHE vergelijking. Alleen de SYMMETRIC mag de start_range en end_range omwisselen, de ASYMMETRIC moet streng zijn. De ASYMMETRISCHE vorm is de impliciete vorm. Met andere woorden een implementatie die A BETWEEN X and Y . interpreteert als (A>=X AND A<=Y) OR (A>=Y AND A<=X) , zoals het OP suggereert, voldoet niet aan de standaard.



  1. gebruik van rownum-functie met> log in oracle

  2. Waar moet ik een externe sleutel bewaren?

  3. Gebruikt het gebruik van NULL in PostgreSQL nog steeds een NULL-bitmap in de header?

  4. Hoe lid te worden van categorietabel voor ouders in SQL-query?