A Structured Query Language (SQL) utilizados para a programação de banco de dados de computador, lida com as cadeias de caracteres como a maioria das linguagens de programação fazem. Variáveis de cadeia de caracteres e literais conter texto , como " Joe Smith " ou " 500 Main Street. " SQL tem regras para a comparação de strings desiguais , os resultados que são, por vezes inesperado. Algumas comparações de strings desiguais , como entre "abc" e "xyz ", são óbvios , enquanto outros requerem o estudo das regras do SQL. Software Caso Sensitivo
do Microsoft SQL Server não é sensível a maiúsculas para comparação de strings . Isso significa que ele trata as cordas " John Doe " e " John Doe ", como iguais. Muitas vezes um programador irá considerar isso uma coisa boa , porque ela não tem que escrever código extra para forçar as duas seqüências para maiúsculas . Em alguns casos , no entanto , ela quer comparações de strings case-sensitive . Por outro lado , o software de banco de dados Oracle é case-sensitive tão " JOHN DOE " não corresponde " John Doe ". Um programador querendo eliminar de maiúsculas e minúsculas usaria uma função, como UPPER () em ambas as cordas , obrigando todos os caracteres em maiúsculas.
Cadeia Comprimento
variáveis de caracteres que contêm cadeias de comprimento desigual comparar de forma desigual, mesmo se começar com os mesmos personagens . Por exemplo, " 500 Main " e " 500 Main Street" não são iguais. Variáveis de caracteres definidos para diferentes comprimentos , mas que têm o mesmo conteúdo irá comparar de forma igual. Se um campo de descrição tem um comprimento definido de 50 e outro tem um comprimento de 30 eles serão iguais se eles contêm o texto "Running Shoes Azul ".
Tipo
Você pode definir campos cadeia de caracteres SQL como CHAR, VARCHAR, NCHAR ou tipos NVARCHAR . CHAR e NCHAR têm tamanhos fixos ; varchar e nvarchar têm tamanhos que variam até o máximo especificado na definição do campo. O tipo de campo não afeta a comparação de strings , se eles têm o mesmo conteúdo que irá comparar igual . Você não pode comparar diretamente um campo tipo TEXT com outro campo de seqüência de caracteres ; bandeiras SQL isto como um erro
Blanks
Para cadeias de caracteres do SQL Server pode ter texto com qualquer . combinação de ponta, à direita ou espaços em branco embutidos. Duas cordas com conteúdo semelhante, mas onde se tem espaços em branco finais irá comparar igual , por exemplo, "abc" e "abc . " No entanto, SQL considera strings com espaços em branco líderes como "abc" e "abc" desigual. Cordas com espaços incorporados, como "abc " e " bc" também não são iguais.