sql是否包含字元
『壹』 在sql語句中怎麼判斷一個欄位是否包含在另一個字元串中
sql語句判斷一個欄位是否包含在另一個字元串中的方法
一、語句中使用到的函數有
1、CHARINDEX:函數返回字元或者字元串在另一個字元串中的起始位置。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中尋找的字元中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。
CHARINDEX函數返回一個整數,返回的整數是要找的字元串在被找的字元串中的位置。假如CHARINDEX沒有找到要找的字元串,那麼返回0
2、rtrim:函數去除字元串右邊的空格符。
二、例子中的表格為:tt,結構數據如下
『貳』 sql查找包含某些字元的列
1、首先創建模擬數據源表。
『叄』 SQL語句查詢 不包括XX字元 求助
方法有三種:
1 not like :非常直觀
2 replace 檢查替換後的字元串長度是否和以前的長度一致,一致則不包含
sql_server_replace是否包含字元串
3 charIndex:通過判斷XX字元串在指定列中的起始位置是否大於0,來判斷是否包含此字元串
sqlserver_charIndex函數用法簡介
4 pathindex 通過判斷XX字元串在指定列中是否返回0,來判斷是否包含字元串
sqlserver_pathIndex函數用法簡介
以上四種方法供您參考,
請採納!謝謝!
『肆』 sql 查詢所有欄位是否包含一個字元
declare @objname nvarchar(40)
declare @word nvarchar(100)
declare @sql nvarchar(max)
set @word='搜索關鍵詞'
set @objname = '表名'
set @sql='select * from ' +@objname +' where '
select @sql=@sql+name+' like ''%'+@word+'%'' or ' from syscolumns where id = object_id(@objname) order by colid
set @sql=SUBSTRING(@sql,1,len(@sql)-3)
exec(@sql)
以上為只要有一個欄位有搜索欄位就被搜出來
『伍』 MySQL、SQLServer判斷字元串是否包含某字元
MySQL:
在MySQL中使用FIND_IN_SET( st , str )函數來判斷某個字元串是否包含某字元。其中,st表示需要判斷的字元,str表示相應的字元串欄位。如果包含,則返回st字元在字元串中的位置,以1為起點。如果不包含,則返回0;
SQLServer:
在SQLServer中使用CHARINDEX(','+ st +',' , ','+ str +',')函數來判斷某個字元串是否包含某字元。其中,st表示需要判斷的字元,str表示相應的字元串欄位。如果包含,則返回st字元在字元串中的位置,以1為起點。如果不包含,則返回0;
注意:在SQLServer函數中,st必須為字元串,使用int則無效,如果是數字類型字元,必須使用雙引號。
『陸』 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可以是數據表裡的某個待搜索欄位名
『柒』 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語句中怎麼判斷一個欄位是否包含在另一個字元串中
思路是,讀取B.name字元串後進行字元串的的分割 name.,然後最後執行模糊查詢A表,可以這樣
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%體%')
只能說完全用sql語句實現,有點難吧!
string name = "查體";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}
可以告訴你,沒有關聯查一個表還行,兩個表都來不太可能。
『玖』 sql 查詢 不包含 某些字元串
sql 查詢 不包含 某些字元串?
基礎的總結和解釋(基於SQL Server):
先來個基礎的導圖,來源於腳本之家:
基礎的語句總結和解釋:
1.選擇前百分之多少的數據:
SELECT TOP 50 PERCENT * FROM Websites;2.常用通配符:通配符 描述
%替代 0個或多個字元
_替代一個字元
[charlist]
字元列中的任何單一字元
[^charlist]
或
[!charlist]
不在字元列
'%a' //以a結尾的數據
'a%' //以a開頭的數據
'%a%' //含有a的數據
『_a_』 //三位且中間字母是a的
'_a' //兩位且結尾字母是a的
'a_' //兩位且開頭字母是a的
首先說下LIKE命令都涉及到的通配符:
% 替代一個或多個字元
_ 僅替代一個字元
[charlist] 字元列中的任何單一字元
[^charlist]或者[!charlist] 不在字元列中的任何單一字元
其中搭配以上通配符可以讓LIKE命令實現多種技巧:
1、LIKE'Mc%' 將搜索以字母 Mc 開頭的所有字元串(如 McBadden)。
2、LIKE'%inger' 將搜索以字母 inger 結尾的所有字元串(如 Ringer、Stringer)。
3、LIKE'%en%' 將搜索在任何位置包含字母 en 的所有字元串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 將搜索以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 將搜索下列字元串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 將搜索以字元串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。
7、LIKE'M[^c]%' 將搜索以字母 M 開頭,並且第二個字母不是 c 的所有名稱(如MacFeather)3.別名:在下面的情況下,使用別名很有用:
在查詢中涉及超過一個表
在查詢中使用了函數
列名稱很長或者可讀性差
需要把兩個列或者多個列結合在一起4.連接:不同的 SQL JOIN
在我們繼續講解實例之前,我們先列出您可以使用的不同的 SQL JOIN 類型:
INNER JOIN:如果表中有至少一個匹配,則返回行
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個表中存在匹配,則返回行