Structured Query Language ( SQL ) används för databas programmering , hanterar teckensträngar som de flesta programmeringsspråk gör . Teckensträng variabler och ordagranna innehålla text som " Joe Smith " eller " 500 Main Street . " SQL har regler för jämförelse av ojämlika strängar , resultaten av som ibland oväntade . Vissa ojämlika strängjämförelser t.ex. mellan " abc " och " xyz " är självklara medan andra kräver att studera SQL : s regler . Case Känslighet
Microsofts SQL Server är inte skiftlägeskänsligt för strängjämförelser . Detta innebär att den behandlar strängarna " John Doe " och " JOHN DOE " som lika . Många gånger en programmerare kommer att överväga detta en bra sak eftersom hon inte behöver skriva extra kod för att tvinga båda strängar till versaler . I vissa fall , dock vill hon skiftlägeskänsliga strängjämförelser . Å andra sidan , är Oracledatabasprogrammet skiftlägeskänsliga så " JOHN DOE " matchar inte " John Doe . " En programmerare som vill eliminera skiftlägeskänslighet skulle använda en funktion som ÖVRE ( ) på båda strängarna , tvingar alla tecken till versaler .
stränglängden
Karaktär variabler med olika längd strängar jämför ojämnt , även om de börjar med samma tecken . Till exempel , " 500 Main" och " 500 Main Street " är inte lika . Karaktär variabler som definierats för olika längder , men som har samma innehåll kommer att jämföra lika . Om en beskrivning fältet har en definierad längd på 50 och en annan har en längd av 30 att de kommer att vara lika om de båda innehåller texten " Blå löparskor . " Addera ditt Typ
Du kan definiera SQL fält teckensträngar som CHAR , VARCHAR , nchar eller nvarchar typer . Röding och nchar har fasta storlekar , VARCHAR och NVARCHAR har storlekar som varierar upp till det totala beloppet i fältet definition . Fältet Typ påverkar inte strängjämförelser , om de har samma innehåll som de kommer att jämföra lika . Du kan inte direkt jämföra ett fält TEXT typ med annan teckensträng fält , SQL flaggor detta som ett fel Addera Blanks
För SQL strängar Server karaktär kan ha text med någon . kombination av ledande , släpande eller inbäddade blanksteg . Två strängar med liknande innehåll , men där man har avslutande blanksteg kommer att jämföra lika , till exempel , " abc " och " abc ". Anser emellertid SQL strängar med inledande blanksteg som " ABC " och " abc " ojämlik . Strängar med inbäddade ämnen såsom " abc " och " a bc " inte heller är lika .