1. 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 功能
2. sql中如何判斷字元串中含有特殊字元
1、打開終端窗口,輸入mysql -u-root -p,進入mysql。
3. sql語句中查找某欄位中含有某字元串的語句怎麼寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」
這些都是不一樣的,你搜出來的都是帶有英文半形問號的文件。
(3)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字元串中請將全形符號改為半形符號。
4. sql中比較一個字元串中是否含有另一個字元串中的一個字元
1、既然你要判斷其中一個是否包含了另一個,那你條件肯定要給SQL,SQL才能幫你找到的,2、這個條件肯定是你要給出的。比如首岩str1='1`2`3`4`5'str2='1`2`3`4'那你叫SQL判斷的橘爛其中的話,可以:Select
CharIndex('5',str1)
--這里的「5」具體要代入什麼值去判斷,就要你給出來了。Select
CharIndex('2`3',str1)
--這類的SQL是可以幫你去判斷的。不包含的話就返回0否則就返回第一個相同字元的位置,比如這個就返回3 給你寫一圓芹漏個函數來操作:
Create
function
fSearch(@inStr
varchar(1000),@fndStr
varchar(1000),@doc
varchar(10))
returns
bit
as
begin
declare
@ii
int,@rStr
varchar(1000),@c
varchar(1000)
select
@rStr=@fndStr
while
len(@rStr)>0
begin
Select
@ii=Charindex(@doc,@rStr)
if
@ii=0
begin
return
0
end
else
begin
select
@c=substring(@rStr,1,@ii-1)
if
charIndex(@c,@inStr)>0
return
1
else
begin
select
@rStr=substring(@rStr,@ii+len(@doc),len(@rStr))
end
end
end
return
0
end
--參數:@inStr
待搜索字串,@fndStr
搜索字串,@doc
分隔符--
例:select
dbo.fSearch('1,2,3,4,5,6','3,6,5,8,2',',')
返回0-不匹配,返回1-匹配(@instr中有@fndStr內容)--可以用於表搜索,如:--
Select
*,dbo.fSearch(str,'3,6,5,8,2',',')
as
是否匹配 from
表名--
@fndStr和@doc兩個參數就需要你自己提供了,@inStr可以是數據表裡的某個待搜索欄位名
5. 如何用sql語句,判斷資料庫中某欄位的內容,包含於某字元串
1:可以利用CHARINDEX(或者 PATINDEX) 函數返回字元或者字元串在另一個字元串中的起始位置。
SELECT CHARINDEX('ad','rrdadgff') 返回4;
2:可以利用like進行模糊查詢, like 『%字元串%』
3:利用全文索引
6. sql怎麼查詢欄位中包含一個字元串,不要用like
可以使用:SELECT 欄位2 FROM 數據表名 WHERE 欄位2 = '3',如果是要包含字元3的話,使用:SELECT欄位2FROM數據表名WHERE欄位2LIKE '%3%'。
7. 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數據類型。
8. 在SQLSERVER中如何檢測一個字元串中是否包含另一個字元
可以通過CHARINDEX()函數判斷另一個字元出現的位置
還可以通過REPLACE()函數替換後,再用LEN()函數比較替換前和替換後的字元串長度。
9. sql查找包含某些字元的列
1、首先創建模擬數據源表。