SQL Server comme l'opérateur: Sensibilité à la casse expliquée
L'opérateur de SQL Server comme
fournit une correspondance de chaîne robuste. Cependant, sa sensibilité aux cas n'est pas inhérente à l'opérateur lui-même. Au lieu de cela, il est déterminé par la collation de la colonne.
collation: la clé de la sensibilité à la casse
La collation d'une colonne dicte comment les comparaisons de caractères sont gérées. SQL Server prend en charge diverses collations, chacune spécifiant le jeu de caractères, l'alphabet et, surtout, les règles de sensibilité de cas.
Déterminer la collation
pour vérifier la collation d'une base de données:
SELECT DATABASEPROPERTYEX('databasename', 'collation') AS SQLCollation;
pour une colonne spécifique:
SELECT COLLATION_NAME
FROM sys.columns
WHERE object_id = OBJECT_ID('TableName') AND name = 'ColumnName';
Impact de la collation sur les résultats similaires
différentes collations produisent des résultats différents comme
. Par exemple:
SQL_LATIN1_GERAL_CP1_CI_AS
: Case-insensible, sensible à l'accent. sql_latin1_general_cp1_cs_as
: sensible à la casse, sensible à l'accent. Modification de la collation (utilisez avec prudence)
Bien que généralement découragé, vous pouvez modifier la collation d'une colonne:
ALTER TABLE TableName ALTER COLUMN ColumnName VARCHAR(10) COLLATE new_collation;
Alternativement, vous pouvez temporairement remplacer la sensibilité des cas dans une requête (non recommandée pour la production):
SELECT column1 COLLATE sql_latin1_general_cp1_ci_as AS column1
FROM table1;
En résumé
Correspondance précise correspondant à de SQL Server
l'opérateur dépend de la compréhension de l'impact de la collation. Une sélection minutieuse de collation garantit que les requêtes se comportent comme prévu, quelles que soient les exigences de sensibilité aux cas.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3