『壹』 sql中如何判斷一個字元是否包含在表欄位中,而不是包含在表記錄中
Select
name
from
syscolumns
Where
ID=OBJECT_ID('表名')
這個可以查出你所查詢的表的所有欄位名字,如你所說你傳入個3個話可以寫
Select
name
from
syscolumns
Where
ID=OBJECT_ID('表名')
and
name
like
'%3%'
這樣返回就是這個表的欄位名包含3的欄位了,在程序里你自己把這些個欄位名取出來,拼成
欄位1,欄位2的格式,再放到你的查詢語句去就是了~
『貳』 sql語句中查找某欄位中含有某字元串的語句怎麼寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」
這些都是不一樣的,你搜出來的都是帶有英文半形問號的文件。
(2)sql判斷字元串含有擴展閱讀:
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中如何判斷字元串中含有特殊字元
1、打開終端窗口,輸入mysql -u-root -p,進入mysql。
『肆』 sql中比較一個字元串中是否含有另一個字元串中的一個字元
sql中比較一個字元串中是否含有另一個字元或字元串可用charindex函數。
如:
selectcharindex('愛','我愛祖國')
結果為:
返回值為0,則代表「a」不存在於「我愛祖國」字元串中。
語法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
參數:
expression1
一個表達式,其中包含要尋找的字元的次序。expression1 是一個短字元數據類型分類的表達式。
expression2
一個表達式,通常是一個用於搜索指定序列的列。expression2 屬於字元串數據類型分類。
start_location
在 expression2 中搜索 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜索。
『伍』 sql判斷字元串中是否包含某個字元串
select * from 表名 where 欄位 like %指定字元串%
『陸』 sql 怎麼判斷一個字元串包含在另一個字元串
三、取子串函數
1、left()
LEFT(<character_expression>,<integer_expression>)
返回character_expression左起integer_expression個字元。
2、RIGHT()
RIGHT(<character_expression>,<integer_expression>)
返回character_expression右起integer_expression個字元。
3、SUBSTRING()
SUBSTRING(<expression>,<starting_position>,length)
返回從字元串左邊第starting_position個字元起length個字元的部分。
四、字元串比較函數
1、CHARINDEX()----這個應該是你想要的函數!!
返回字元串中某個指定的子串出現的開始位置。
CHARINDEX(<』substring_expression』>,<expression>)
其中substring_expression是所要查找的字元表達式,expression可為字元串也可為列名表達式。如果沒有發現子串,則返回0值。
此函數不能用於TEXT和IMAGE數據類型。
2、PATINDEX()
返回字元串中某個指定的子串出現的開始位置。
PATINDEX(<』%substring_expression%』>,<column_name>)其中子串表達式前後必須有百分號「%」否則返回值為0。
與CHARINDEX函數不同的是,PATINDEX函數的子串中可以使用通配符,且此函數可用於CHAR、VARCHAR和TEXT數據類型。
『柒』 sql 判斷字元串中是否含有數字和字母
判斷是否含有字母
select
patindex('%[a-za-z]%',
『ads23432')=0
(如果存在字母,結果>1)
判斷是否含有數字
patindex('%[0-9]%',
『234sdf')=0
(如果存在數字,結果>1)
『捌』 在SQLSERVER中如何檢測一個字元串中是否包含另一個字元串
--當charindex返回值大於0時則包含為0不包含
selectCHARINDEX('456','123456')
『玖』 sql如何在字元串里判斷是否有數字或者字母
判斷是否含有字母
select PATINDEX('%[A-Za-z]%', 『ads23432')=0
(如果存在字母,結果>1)
判斷是否含有數字
PATINDEX('%[0-9]%', 『234sdf')=0
(如果存在數字,結果>1)
『拾』 在SQLSERVER中如何檢測一個字元串中是否包含另一個字元
可以通過CHARINDEX()函數判斷另一個字元出現的位置
還可以通過REPLACE()函數替換後,再用LEN()函數比較替換前和替換後的字元串長度。