Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

comparer deux chaînes dans SQL Server

Il n'y a pas de fonction de comparaison directe de chaînes dans SQL Server

CASE
  WHEN str1 = str2 THEN 0
  WHEN str1 < str2 THEN -1
  WHEN str1 > str2 THEN 1
  ELSE NULL --one of the strings is NULL so won't compare (added on edit)
END

Remarques

  • vous pouvez envelopper ceci via un UDF en utilisant CREATE FUNCTION etc
  • vous devrez peut-être gérer NULL (dans mon code ci-dessus, tout NULL rapportera 1)
  • str1 et str2 seront des noms de colonnes ou des @variables