當前位置:首頁 » 編程語言 » sql按字元串檢索
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql按字元串檢索

發布時間: 2022-03-12 08:10:16

A. 怎麼把sql裡面欄位格式類似字元串的進行搜索

SELECT*FROMPERSONWHEREJOBLIKE'%4%'

B. sql語言:如何查詢字元串某個字元的個數

update 表名字 set 欄位名=欄位名+'統一字元串'

回答補充問題
你說的這個
只有兩種可能
1 執行前 欄位裡面都是空值
2 語句寫錯了

C. sql如何查詢字元串的某個字

--舉個例子,表名為zwj,欄位為sp,查詢sp欄位中含有'所有'的語句為
select * from zwj where sp like '%所有%'

--表名為zwj,欄位為sp,查詢sp欄位中含有'所'或'有'的語句為
select * from zwj where sp like '%所%' or sp like '%有%'

D. sql如何獲取字元串中的指定字元

1、創建測試表,

create table test_int(value varchar2(50));

E. sql怎麼根據收個字元串查找

select*from表格名whereidlike'B%';

F. SQL語句,如何將一個欄位中的一部分字元串作為條件查詢

select*
from表
wheresubstring(code,2,1)=0andsubstring(code,3,1)=0andsubstring(code,4,1)=0andsubstring(code,5,1)=0

or

select*

from表

wheresubstring(code,2,4)='0000'

G. sql語句中查找某欄位中含有某字元串的語句怎麼寫

select filename from oa_file where filename not like '%[!-¥]%'

或者這個:

select filename from oa_file where filename not like '%[!-?]%'

出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」

這些都是不一樣的,你搜出來的都是帶有英文半形問號的文件。

(7)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字元串中請將全形符號改為半形符號。

H. sql 在一個字元串中查找特定的字元串

like '25,%' or like '%,25,%' or like '%,25'

補充:
寫成存儲過程
或拼接sql字元串

//自己動手,豐衣足食!阿彌陀佛!!!!

I. SQLserver中字元串查找功能patindex和charindex的區別

charindex和patindex函數常常用來在一段字元中搜索字元或字元串。假如被搜索的字元中包含有要搜索的字元,那麼這兩個函數返回一個非零的整數,這個整數是要搜索的字元在被搜索的字元中的開始位數。patindex函數支持使用通配符來進行搜索,然而charindex不支持通配符。接下來,逐個分析這兩個函數。


怎樣使用charindex函數

charindex函數返回字元或字元串在另一個字元串中的起始位置。charindex函數調用方法如下:

charindex ( expression1 , expression2 [ , start_location ] )

expression1是要到expression2中尋找的字元中,start_location是charindex函數開始在expression2中找expression1的位置。

charindex函數返回一個整數,返回的整數是要找的字元串在被找的字元串中的位置。假如charindex沒有找到要找的字元串,那麼函數整數「0」。讓看看下面的函數命令執行的結果:

charindex(sql, microsoft sql server)

這個函數命令將返回在「microsoft sql server」中「sql」的起始位置,在這個例子中,charindex函數將返回「s」在「microsoft sql server」中的位置11。

接下來,看這個charindex命令:

charindex(7.0, microsoft sql server 2000)

在這個例子中,charindex返回零,因為字元串「7.0」 不能在「microsoft sql server」中被找到。


接下來通過兩個例子來看看怎樣使用charindex函數來解決實際的t-sql問題。


第一個例子,假設要顯示northwind資料庫customer表前5行聯系人列的last name。這是前5行數據

contactname

------------------------------

maria anders

ana trujillo

antonio moreno

thomas hardy

christina berglund

能夠看到,customname包含客戶的first name和last name,他們之間被一個空格隔開。用charindx函數確定兩個名字中間空格的位置。通過這個方法,能夠分析contactname列的空格位置,這樣能夠只顯示這個列的last name部分。這是顯示northwind的customer表前5行last name的記錄

selecttop5substring(contactname,charindex(,contactname)+1,len(contactname))as[lastname]fromnorthwind.dbo.customers

下面是這個命令輸出的結果。

last name

------------------------------

anders

trujillo

moreno

hardy

berglund

charindex函數找到first name和last name之間的空格,所以substring函數能夠分開contactname列,這樣就只有last name被選出。在charindex函數返回的整數上加1,這樣last name不是從空格開始。

在第二個例子中,即如說要計算記錄中,某一個欄位包含特定字元的任何記錄數。charindex函數能夠方便的解決的問題。計算northwind.dbo.customer表中addresses欄位中包含單詞road或他的縮寫rd的記錄數,選擇語句類似這樣:

selectcount(*)fromnorthwind.dbo.customerswherecharindex(rd,address)>0orcharindex(road,address)>1



怎樣使用patindex函數

patindex函數返回字元或字元串在另一個字元串或表達式中的起始位置,patindex函數支持搜索字元串中使用通配符,這使patindex函數對於變化的搜索字元串很有價值。patindex函數的命令如下:

patindex ( %pattern% , expression )

pattern是要搜索的字元串,expression是被搜索的字元串。一般情況下expression是個表中的一個欄位,pattern的前後需要用「%」標記,除非搜索的字元串在被收縮的字元串的最前面或最後面。

和charindex函數相同,patindex函數返回搜索字元串在被搜索字元串中的起始位置。假如有這樣一個patindex函數:

patindex(%bc%,abcd)

這個patindex函數返回的結果是2,這和charindex函數相同。這里的%標記告訴patindex函數去找字元串「bc」,不管被搜索的字元串中在「bc」的前後有多少字元!

假如想知道被搜索字元串是否由特定的字元串開始,能夠省去前面的%標記。patinded函數就要這樣寫:

patindex(ab%,abcd)

這個命令執行的結果返回1,表示搜索的字元串「ab」在被搜索的字元串中「abcd」被找到。

使用通配符能夠編輯比以上舉得簡單例子復雜得多的搜索字元串。假如說要確定一個字元串是否包含字母a和z,更有任何數字,這個parindex函數命令可能像這樣:

patindex(%[a,z,0-9]%[a,z,0-9]%[a,z,0-9]%,xyzabc123)

注意在上面這個例子中的搜索字元部分使用了很多的通陪符。察看sql server聯機叢書能夠獲得更多關於通佩符的信息。接下來,用兩個例子來看patindex和select怎麼聯合起來使用。

假設想要找出northwind.dbo.categories表中description欄位中是包含單詞「bread」或「bread」的任何記錄,那麼選擇語句就可能是這樣:

.dbo.categorieswherepatindex(%[b,b]read%,description)>0

這里用通配符來確定大寫和小寫的「b」。在notthwind資料庫中執行這個腳本後,得到下面的結果:

description

--------------------------------------------------------

desserts, candies, and sweet breads

breads, crackers, pasta, and cereal

這是再用另外一個額外的通配符來查找一些記錄的例子。這個例子是怎樣選出上面的查詢結果中,description欄位的第二子字母不是「e」的紀錄。

.dbo.categorieswherepatindex(%[b,b]read%,description)>0andpatindex(_[^e]%,description)=1

通過在條件語句中增加一個使用^通配符的patindex函數,能夠過濾掉「dessert, candies, and sweet breads」這條記錄。上面的查詢結果只有一條記錄。

description

--------------------------------------------------------

breads, crackers, pasta, and cereal

總結

現在能夠發現charindex和patindex搜索字元串時的區分了吧。patindex函數支持使用通配符,能夠用在很多有變化的查找中。而charindex不能夠。根據自己不同的情況,這兩個函數對在sql server中的字元串的搜索、控制、分析很有幫助。

J. SQL 中 查找含有指定字元串的數據

select * from table where 欄位 like '%abc%'