sql >> Database teknologi >  >> RDS >> Sqlserver

sammenligne to strenge i SQL Server

Der er ingen direkte strengsammenligningsfunktion i 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

Noter

  • du kan ombryde dette via en UDF ved hjælp af CREATE FUNCTION osv.
  • du har muligvis brug for NULL-håndtering (i min kode ovenfor vil enhver NULL rapportere 1)
  • str1 og str2 vil være kolonnenavne eller @variabler



  1. en fejl bliver ved med at dukke op i mine koder (forbindelsen er allerede åben)

  2. Mød Michal Bar og mig hos Microsoft Ignite!

  3. regex i SQL for at detektere et eller flere ciffer

  4. MySQL Multiple Left Joins