Structured Query Language ( SQL ), der anvendes til database programmering, håndterer tegnstrenge som de fleste programmeringssprog gør. Tegnstreng variabler og konstanter indeholde tekst såsom " Joe Smith " eller " 500 Main Street. " SQL har reglerne for sammenligning af ulige strenge, resultaterne af som nogle gange er uventet. Nogle ulige snor sammenligninger såsom mellem "abc " og " xyz ", er indlysende , mens andre kræver, at studiet af SQL regler. Case Følsomhed
Microsofts SQL Server software er ikke case- sensitive for string sammenligninger. Det betyder, at det behandler strengene " John Doe " og " John Doe ", som lige. Mange gange en programmør vil overveje dette en god ting, fordi hun ikke behøver at skrive ekstra kode for at tvinge de to strenge til store bogstaver . I nogle tilfælde , dog vil hun case-sensitive snor sammenligninger. På den anden side er Oracle database software og små bogstaver , så " John Doe " matcher ikke " John Doe ". En programmør der ønsker at eliminere tilfælde følsomhed ville bruge en funktion som UPPER () på begge strenge, tvinger alle tegn i store bogstaver .
snorlængde
Character variabler indeholder ulige strenge af længden sammenligne ulige , selv hvis de begynder med de samme tegn. For eksempel, " 500 Main" og " 500 Main Street " er ikke lige. Character variabler defineret for forskellige længder , men som har det samme indhold vil sammenligne lige. Hvis en beskrivelse felt har en defineret længde på 50 og en anden har en længde på 30 vil de være lig , hvis de begge indeholder teksten "Blå løbesko . "
Type
< br >
Du kan definere SQL tegnstrengssammenligninger felter som CHAR , VARCHAR , NCHAR eller nvarchar typer . CHAR og NCHAR har faste størrelser , VARCHAR og nvarchar har størrelser , der varierer op til den maksimale angivet i feltet definition . Feltet typen påvirker ikke snor sammenligninger; hvis de har samme indhold , de vil sammenligne lige. Du kan ikke direkte sammenligne en teksttype felt med en anden tegnstreng område; SQL flags dette som en fejl
Blanks
SQL Server tegnstrenge kan have tekst med nogen. kombinationen af førende , efterstillede eller indlejret blanke . To strenge med tilsvarende indhold, men hvor man har efterstillede blanke vil sammenligne lige, for eksempel, " abc" og "abc ". Men SQL mener strygere med blanktegn som "abc" og "abc" ulige . Strings med indlejrede blanks såsom "abc" og " a bc " heller ikke er ens .