T-SQL筆記29_兩個字串變數比較透過varbinary_大小寫也要一致的比對方式
可能一般直接就用字串原始值去比對了
1 2 3 4 5 6 7 8 9 | DECLARE @Name1 VARCHAR(30), @Name2 VARCHAR(20); Set @Name1='geeks'; Set @Name2='geeks'; If @Name1=@Name2 Select 'match' else Select 'not match'; DECLARE @Name3 VARCHAR(30), @Name4 VARCHAR(20); Set @Name3='geeks'; Set @Name4='geeksA'; If @Name3=@Name4 Select 'match' else Select 'not match'; |
不過會有個問題假設今天要做區分大小寫的比對會出錯
這時可以透過convert成varbinary來做比對就能強迫case sensitive
1 2 3 4 5 6 7 8 | DECLARE @Name1 VARCHAR(30), @Name2 VARCHAR(30); Set @Name1='SQL'; Set @Name2='sql'; --select convert(varbinary(30),@Name1) --select convert(varbinary(30),@Name2) If convert(varbinary(30),@Name1)=convert(varbinary(30),@Name2) Select 'match' else Select 'not match'; |
Ref:
SQL Query to Compare Two Strings
TSQL function to compare two strings
SQL Case Sensitive String Compare
Case Sensitive String Comparison
留言
張貼留言