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查詢多個字段語句
String ser = *ameter("ser");
if(ser != null && *() > 0){
ser="and serialno like '"+ser+"%' ";
}
String id = *ameter("id");
if(id != null && *() > 0){
id="and id like '"+id+"%' ";
}
String t1 = *ameter("t1");
if(t1 != null && *() > 0){
t1="and dt > to_date('"+t1+"','yyyy-mm-dd hh24:mi:ss') ";
}
String t2 = *ameter("t2");
if(t2 != null && *() > 0){
t2="and dt 0){
xw="and type='"+xw+"'";
}
String sql="select * from *_old where 1=1 "+ser+id+t1+t2+xw;
*n(sql);
ResultSet rt=*eQuery(sql);
這個是類似的一段代碼,你可以參照改寫即可,通過第三方語言處理而組裝sql語句即可實現你所要的結果。
求助sql高手,查詢特殊字段語句
先給你說下思路,,,
5個數字的是特定的,,,,,
3,4的都涉及到排列組合
declare @s varchar(200)
set @s='245'
;WITH CTE AS
(
SELECT ROW_NUMBER() OVER (ORDER BY ID) AS SEQ FROM SYSOBJECTS
),
CTE2 AS
(
SELECT SUBSTRING(@s,SEQ,1) AS COL FROM CTE WHERE LEN(@s)>=SEQ
),
CTE3 AS
(
SELECT CAST(COL AS VARCHAR(MAX)) AS COL FROM CTE2
UNION ALL
SELECT *+* FROM CTE2 AS T2,CTE3 AS T3 WHERE CHARINDEX(*, *)=0
)
SELECT * FROM CTE3 ORDER BY LEN(COL)這個可以查詢出個位數的排列組合,,,,
還涉及到組合去重復,,,,
http://**database/201307/*
你可以看看這個,,,,
后面的自己再考慮下吧,,,,
其實最簡單 方式,還是用or,,,,