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

留言

這個網誌中的熱門文章

何謂淨重(Net Weight)、皮重(Tare Weight)與毛重(Gross Weight)

外貿Payment Term 付款條件(方式)常見的英文縮寫與定義

(2021年度)駕訓學科筆試準備題庫歸納分析_法規是非題