sql語句中查找某字段中含有某字符串的語句怎么寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半角的問號是“?”,英文標點全角的問號是“?”但是中文半角問號是“?”中文全角的問號是“?”
這些都是不一樣的,你搜出來的都是帶有英文半角問號的文件。
擴展資料:
SQL中的字段“包含”與“包含于”字符串的寫法
1、查詢表中某字段值“包含”某字符串的所有記錄的方法
假如表中有一個name字段,查詢name包含“張三”的所有記錄,可以這樣寫sql:
Stirng strsql="SELECT * FROM 表名 WHERE name LIKE '%"+"張三"+"%'";
2、查詢某字段值“包含于”某個字符串的所有記錄的方法
如果查詢表中name字段包含于字符串“張三是個好學生”的所有記錄,可以這樣寫sql:
String strsql="SELECT * FROM 表名 WHERE INSTR('張三是個好學生',name)>0";
即可查詢,記錄中的name字段值中包括:張、三、是、個、好、學、生、張三、。。等所有記錄。
注:以上sql字符串中請將全角符號改為半角符號。
在sql語句中怎么判斷一個字段是否包含在另一個字符串中
sql語句判斷一個字段是否包含在另一個字符串中的方法 一、語句中使用到的函數有 1、CHARINDEX:函數返回字符或者字符串在另一個字符串中的起始位置。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] ) expression1是要到expression2中尋找的字符中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。 CHARINDEX函數返回一個整數,返回的整數是要找的字符串在被找的字符串中的位置。
假如CHARINDEX沒有找到要找的字符串,那么返回0 2、rtrim:函數去除字符串右邊的空格符。 二、例子中的表格為:tt,結構數據如下 下面語句檢索test_column字段的值包含在字符串 'aabb'中的記錄 select * from tt where CHARINDEX(rtrim(test_column),'aabb') > 0 ;1、rtrim(test_column),部分數據庫,在對字符型字段的值做操作的時候,會在字符串的右邊補足空格符。
例如:字段類型為char(8),字段的值為'aa',那么會使用'aa '來操作,這樣會影響語句的結果。所以使用rtrim函數去除字符串右邊的空格符。
2、CHARINDEX(rtrim(test_column),'aabb'),在字符串'aabb'中查找是否包含rtrim(test_column)返回的字符串,找到返回字符串起始位置,反之返回0.所以包含則返回大于0的值。 3、語句執行結果: 。
sql 怎么判斷是否含有字符串
不知道您說的SQL是SQL語句還是 SQL數據庫,
如果是SQL語句就要分下數據庫了,
1.我這邊機器就安裝了mysql,查找包含某個字符串的語句是
SELECT * FROM '表名' WHERE LOCATE('包含的字符串',‘字段’) > 0
LOCATE返回子串substr在字符串str第一個出現的位置,如果substr不是在str里面,返回0.
2.如果是SQL數據庫
SELECT * FROM '表名' WHERE charindex('包含的字符串',‘字段’) > 0
charindex 類似于 LOCATE 功能
sql語句創建規則中必須包含某個字符
使用ESCAPE定義轉義符
在使用LIKE關鍵字進行模糊查詢時,“%”、“_”和“[]”單獨出現時,會被認為是通配符。為了在字符數據類型的列中查詢是否存在百分號(%)、下劃線(_)或者方括號([])字符,就需要有一種方法告訴DBMS,將LIKE判式中的這些字符看作是實際值,而不是通配符。關鍵字ESCAPE允許確定一個轉義字符,告訴DBMS緊跟在轉義字符之后的字符看作是實際值。如下面的表達式:
LIKE '%M%' ESCAPE 'M'
使用ESCAPE關鍵字定義了轉義字符“M”,告訴DBMS將搜索字符串“%M%”中的第二個百分符(%)作為實際值,而不是通配符。當然,第一個百分符(%)仍然被看作是通配符,因此滿足該查詢條件的字符串為所有以%結尾的字符串。
類似地,下面的表達式:
LIKE 'AB&_%' ESCAPE '&'
-------------------------------------
所以 你的 like 自帶ESCAPE ''
轉載請注明出處華閱文章網 » sql語句包含字符串