SQL Server's Like Operator: Case Sensitivity Expled
O operador do SQL Server como
fornece uma string robusta correspondendo. No entanto, sua sensibilidade ao caso não é inerente ao próprio operador. Em vez disso, é determinado pelo agrupamento da coluna.
COMPLAÇÃO: A chave para a sensibilidade do caso
o agrupamento de uma coluna determina como as comparações de caracteres são tratadas. O SQL Server suporta várias colações, cada uma especificando o conjunto de caracteres, alfabeto e regras de sensibilidade ao caso.
Determinando o agrupamento
para verificar o agrupamento de um banco de dados:
SELECT DATABASEPROPERTYEX('databasename', 'collation') AS SQLCollation;
para uma coluna específica:
SELECT COLLATION_NAME
FROM sys.columns
WHERE object_id = OBJECT_ID('TableName') AND name = 'ColumnName';
o impacto da agrupamento nos resultados semelhantes
Diferentes colações produzem diferentes como
Resultados. Por exemplo:
sql_latin1_general_cp1_ci_as
: case-insensível, acentuado-sensível. SQL_LATIN1_GENERAL_CP1_CS_AS
: Case-sensível, Accent-sensível. modificando o agrupamento (use com cautela)
Embora geralmente desencorajado, você pode alterar o agrupamento de uma coluna:
ALTER TABLE TableName ALTER COLUMN ColumnName VARCHAR(10) COLLATE new_collation;
Como alternativa, você pode substituir temporariamente a sensibilidade do caso em uma consulta (não recomendada para produção):
SELECT column1 COLLATE sql_latin1_general_cp1_ci_as AS column1
FROM table1;
Resumindo
String precisa correspondendo ao operador do SQL Server como
depende do entendimento do impacto do agrupamento. A seleção cuidadosa de agrupamento garante que as consultas se comportem conforme o esperado, independentemente dos requisitos de sensibilidade ao caso.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3