我想像本教程一樣在 SQL 中找到特殊字符,但我想擴展字符集。
假設我有一張桌子:
CREATE TABLE SpecialCharacter (
SampleString varchar(255)
);
INSERT INTO SpecialCharacter (SampleString) VALUES (' !"#$%&''()* ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~');
INSERT INTO SpecialCharacter (SampleString) VALUES (' !"#$%&''()* ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz{}~');
INSERT INTO SpecialCharacter (SampleString) VALUES ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz');
INSERT INTO SpecialCharacter (SampleString) VALUES ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\u001a');
INSERT INTO SpecialCharacter (SampleString) VALUES ('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?');
INSERT INTO SpecialCharacter (SampleString) VALUES ('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz');
INSERT INTO SpecialCharacter (SampleString) VALUES ('-');
INSERT INTO SpecialCharacter (SampleString) VALUES ('c-r');
INSERT INTO SpecialCharacter (SampleString) VALUES ('_noice');
INSERT INTO SpecialCharacter (SampleString) VALUES ('_noice^^');
我有以下查詢:
select * from SpecialCharacter WHERE SampleString LIKE '%[^ !"#$\%&''()* ,-./0-9A-Za-z:;<=>@\[\\\]\_]%' ESCAPE '\' AND SampleString LIKE '%[^{}~]%' ESCAPE '\'
我已經設法弄清楚如何找到除^. 我得到的最接近的^是以下內容:
select * from SpecialCharacter WHERE SampleString LIKE '%[\^]%' ESCAPE '\'
當我想在column包含^. 但是,我想在其中查找column包含不在可接受字串列中的資料的資料。
~,{和}它自己的作品,但當我把它LIKE和其他所有東西放在陳述句中時不起作用,這就是我將它們分開的原因。但如果我能把它們放在同一個宣告中,那也太好了。
我錯過了什么?我不能使用CONTAINSor FREETEXT,或變數等,查詢應該盡可能簡單。
uj5u.com熱心網友回復:
不要逃避它。
正如您已經發現的那樣,如果您想找到插入符號,即您對它作為字符感興趣,則必須對其進行轉義。
WHERE SampleString LIKE '%[\^]%' ESCAPE '\'
當您嘗試查找不包含某些內容的字串時,即使用插入符號作為其“功能”時,您必須不轉義它:
where SampleString LIKE '%[^~{}]%' ESCAPE '\'
您實際上可以在以下示例中同時使用轉義和不轉義,其中您將獲得包含插入符號以外的其他內容的字串:
where SampleString LIKE '%[^\^]%' ESCAPE '\'
uj5u.com熱心網友回復:
原來我錯過了問號;帶有特殊字符的查詢本身沒問題。
select * from SpecialCharacter WHERE SampleString LIKE '%[^ !"#$\%&''()* ,-./0-9A-Za-z:;<=>@?\[\\\]\_\^{}~]%' ESCAPE '\'
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/362909.html
標籤:sql sql-server 查询语句
