ubiquitour.com

Reglas de comparación de desigualdad cadena SQL

Reglas de comparación de desigualdad cadena SQL

La consulta SQL (lenguaje estructurado) utilizado para la programación de base de datos de computadora, manijas de caracteres como la mayoría de lenguajes de programación. Literales y variables de cadena de caracteres contienen el texto como "Joe Smith" o "500 Main Street." SQL tiene normas que rigen la comparación de secuencias desiguales, los resultados de los cuales a veces son inesperados. Algunas comparaciones de cadena desigual como entre "abc" y "xyz", son evidentes; otros requieren el estudio de las reglas de SQL.

Caso de la sensibilidad

Software de SQL Server de Microsoft no es entre mayúsculas y minúsculas para las comparaciones de cadenas. Esto significa que trata las cadenas "John Doe" y "JOHN DOE" como igual. Muchas veces un programador parece bueno porque ella no tiene que escribir código extra para obligar a ambas cadenas a mayúsculas. En algunos casos, sin embargo, ella quiere las comparaciones de cadenas entre mayúsculas y minúsculas. Por otro lado, software de base de datos de Oracle es entre mayúsculas y minúsculas por lo que "JOHN DOE" no coincide con "John Doe". Un programador querer eliminar minúsculas utilizaría una función como UPPER() en ambas cadenas, obligando a todos los caracteres en mayúsculas.

Longitud de cadena

Variables de carácter que contiene cadenas de longitud desigual desigual, comparan incluso si empiezan con los mismos personajes. Por ejemplo, "principal 500" y "500 Main Street" no son iguales. Igualmente se compararán variables de caracteres definidas para diferentes longitudes pero que tienen el mismo contenido. Si un campo de descripción tiene una longitud definida de 50 y otro tiene una longitud de 30 serán iguales si ambos contienen el texto "Azul zapatillas."

Tipo

Puede definir campos de cadena de caracteres SQL como tipos CHAR, VARCHAR, NCHAR o NVARCHAR. 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 afectan las comparaciones de cadenas; Si tienen el mismo contenido se comparan iguales. Directamente no se puede comparar un campo de tipo texto con otro campo de cadena de caracteres; SQL esto indicadores como un error.

Espacios en blanco

Para SQL Server, cadenas de caracteres pueden tener texto con cualquier combinación de espacios en blanco de líderes, que se arrastra o incrustados. Compararán dos cadenas con contenido similar pero donde uno tiene perdiendo espacios en blanco igual, por ejemplo, "abc" y "abc". Sin embargo, SQL considera desiguales cadenas con espacios en blanco importantes tales como "abc" y "abc". Cadenas con espacios incrustados como "abc" y "un bc" además no son iguales.