El Lenguaje de Consulta Estructurado (SQL ) que se utiliza para la programación de base de datos informática , maneja cadenas de caracteres como la mayoría de los lenguajes de programación hacen. Variables y literales de cadena de caracteres contienen texto, como " Joe Smith" o " 500 Main Street. " SQL tiene reglas que rigen la comparación de secuencias desiguales , los resultados de lo que a veces no son los esperados . Algunas comparaciones de cadenas desiguales como entre "ABC " y "xyz ", son evidentes , mientras que otros requieren el estudio de las reglas de SQL. Sensibilidad
software caso de Microsoft SQL Server no distingue entre mayúsculas y minúsculas para las comparaciones de cadenas . Esto significa que se trata a las cadenas " John Doe " y "John Doe ", como iguales. Muchas veces un programador tendrá en cuenta esto es bueno porque no tiene que escribir código adicional para forzar ambas cadenas a mayúsculas . En algunos casos, sin embargo , quiere que las comparaciones de cadenas de mayúsculas y minúsculas . Por otro lado, el software de base de datos Oracle es sensible a mayúsculas así que " John Doe" no coincide con " John Doe ". Un programador de querer eliminar mayúsculas y minúsculas usaría una función como UPPER () en ambas cadenas , obligando a todos los personajes en mayúsculas .
cadena de longitud
las variables que contienen cadenas de caracteres de longitud desigual comparar desigual , incluso si comienzan con los mismos caracteres. Por ejemplo, " 500 Main " y " 500 Main Street" no son iguales . Las variables de carácter definidos para diferentes longitudes , pero que tienen el mismo contenido se compara igualmente . Si un campo de descripción tiene una longitud fija de 50 y otro tiene una longitud de 30 serán iguales si ambos contienen el texto " zapatillas azules . "
Tipo
Puede definir campos de cadena de caracteres de SQL como CHAR , VARCHAR, NCHAR o NVARCHAR tipos . CHAR y NCHAR han fijado tamaños ; VARCHAR y NVARCHAR tienen tamaños que varían hasta el máximo especificado en la definición del campo. El tipo de campo no afecta a las comparaciones de cadenas , si tienen el mismo contenido que compararán iguales. No se puede comparar directamente a un campo de tipo texto con otro campo de cadena de caracteres , banderas SQL esto como un error cuando los espacios en blanco
Para cadenas de caracteres de SQL Server puede tener con cualquier texto . combinación de iniciales, finales o blancos intercalados . Dos cadenas que tiene un contenido similar, pero donde se ha insertando espacios compararán iguales, por ejemplo, " abc" y " abc ". Sin embargo , SQL considera cadenas con espacios a la izquierda , como "abc " y " abc" desigual. Cadenas con espacios en blanco incrustados como "abc " y " bc" tampoco son iguales.