sql >> Databasteknik >  >> RDS >> Sqlserver

SQL-strängjämförelse, större än och mindre än operatorer

Jämförelseoperatorerna (inklusive < och > ) "arbeta" med såväl strängvärden som siffror.

För MySQL

Som standard är strängjämförelser inte skiftlägeskänsliga och använder den aktuella teckenuppsättningen. Standard är latin1 (cp1252 West European), vilket också fungerar bra för engelska.

Strängjämförelser är skiftlägeskänsliga när teckenuppsättningssammanställningen av strängarna som jämförs är skiftlägeskänslig, dvs. namnet på teckenuppsättningen slutar på _cs istället för _ci . Det är verkligen ingen mening att upprepa all information som finns i MySQL Reference Manual här.

MySQL Comparison Operators Reference:
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html

Mer information om MySQL-teckenuppsättningar/kollationer:
http://dev.mysql.com/doc/refman/5.5/en/charset.html

För att svara på de specifika frågorna du ställde:

F: är detta ett möjligt sätt att jämföra strängar i SQL?

Svar: Ja, i både MySQL och SQL Server

F: och hur fungerar det?

Svar: En jämförelseoperator returnerar en boolean, antingen TRUE, FALSE eller NULL.

F: en sträng mindre än en annan kommer före i ordboksordning? Till exempel är bollen mindre än vatten?

Svar: Ja, eftersom 'b' kommer före 'w' i teckenuppsättningen, uttrycket

  'ball' < 'water'

kommer att returnera TRUE. (Detta beror på teckenuppsättningen och på sorteringen .

F: och den här jämförelsen är skiftlägeskänslig?

Svar: Huruvida en viss jämförelse är skiftlägeskänslig eller inte beror på databasservern; som standard är både SQL Server och MySQL skiftlägesokänsliga.

I MySQL är det möjligt att göra strängjämförelser genom att ange en teckenuppsättningskollation som är skiftlägeskänslig (teckenuppsättningens namn kommer att sluta med _cs snarare än _ci)

F: Till exempel BALL

Svar: Som standard, i både SQL Server och MySQL, uttrycket

  'BALL' < 'water'

skulle returnera TRUE.



  1. Hur man skickar e-post från SQL Server (T-SQL)

  2. Hur påverkar index databasprestanda?

  3. De bästa funktionerna att leta efter i ett SQL Server-övervakningsverktyg

  4. MySQL - FEL 1045 - Åtkomst nekad