預設不區分大小寫。若需區分,可用 COLLATE 指定區分大小寫、腔調、全半形的定序。
-- 建立測試資料
CREATE TABLE 測試(fd VARCHAR(10));
INSERT INTO 測試 SELECT 'aa' UNION ALL SELECT 'Aa' UNION ALL SELECT 'AA' UNION ALL SELECT 'A,A' UNION ALL SELECT 'A,A';
-- 1. 查大寫字母
SELECT * FROM 測試 WHERE fd COLLATE Chinese_PRC_CS_AS_WS LIKE '%A%';
-- 結果:Aa
-- 2. 查全形字元
SELECT * FROM 測試 WHERE fd COLLATE Chinese_PRC_CS_AS_WS LIKE '%A%';
-- 結果:AA、A,A、A,A
-- 3. 查半形逗號
SELECT * FROM 測試 WHERE fd COLLATE Chinese_PRC_CS_AS_WS LIKE '%,%';
-- 結果:A,A
-- 全部比較
SELECT * FROM (SELECT 'a' AS fd UNION ALL SELECT 'A') a
WHERE CAST(fd AS VARBINARY(8000)) = CAST('A' AS VARBINARY(8000));
-- 部分匹配用 CHARINDEX
SELECT * FROM (SELECT 'a' AS fd UNION ALL SELECT 'A' UNION ALL SELECT 'aAaa' UNION ALL SELECT 'aaaa' UNION ALL SELECT 'cccA') a
WHERE CHARINDEX(CAST('A' AS VARBINARY(8000)), CAST(fd AS VARBINARY(8000))) > 0;