sql語句,如何擷取指定欄位某字元出現後的後面的字串嗎

2022-01-08 11:09:38 字數 5341 閱讀 9423

1樓:教育仁昌

工具/材料:management studio。

1、首先在桌面上,點選「management studio」圖示。

2、之後在該介面中,點選左上角「新建查詢」選項。

3、接著在該介面中,輸入擷取指定欄位某乙個字元出現後的後面的字串的sql語句「

select substring(name,charindex(',',name)+1,len(name)-charindex(',',name)) from test2;」。

4、然後在該介面中,點選左上方「執行」按鈕。

5、最後在該介面中,顯示擷取指定欄位某乙個字元出現後的後面的字串成功。

2樓:司馬刀劍

sql語句可以擷取指定字段後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。

如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。

可用如下語句:

select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

結果截圖:

charindex函式說明:

語法:charindex ( expression1 , expression2 , [ start_location ] )

引數:expression1

乙個表示式,其中包含要尋找的字元的次序。expression1 是乙個短字元資料型別分類的表示式。

expression2

乙個表示式,通常是乙個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。

start_location

在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是乙個負數或零,則將從 expression2 的起始位置開始搜尋。

substring函式說明:

語法:substring( expression, start, length)

引數:expression 字串、二進位制字串、文字、影象、列或包含列的表示式start 整數或可以隱式轉換為 int 的表示式,指定子字串的開始位置length 整數或可以隱式轉換為 int 的表示式,指定子字串的長度

sql語句,能夠擷取指定字段後面的乙個字串嗎?

3樓:東方小廚師

sql語句可以擷取指定字段後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。

如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。

可用如下語句:

select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

結果截圖:

charindex函式說明:

語法:charindex ( expression1 , expression2 , [ start_location ] )

引數:expression1

乙個表示式,其中包含要尋找的字元的次序。expression1 是乙個短字元資料型別分類的表示式。

expression2

乙個表示式,通常是乙個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。

start_location

在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是乙個負數或零,則將從 expression2 的起始位置開始搜尋。

substring函式說明:

語法:substring( expression, start, length)

引數:expression

字串、二進位制字串、文字、影象、列或包含列的表示式

start

整數或可以隱式轉換為 int 的表示式,指定子字串的開始位置

length

整數或可以隱式轉換為 int 的表示式,指定子字串的長度

4樓:匿名使用者

--這個查詢需要注意的是qwer後的需要查詢的字串必須是乙個空格,不能有的是乙個空格有的是兩個。也就是格式要固定。

--定義引數

create table #a (string varchar(max))

declare @sql varchar(max)

declare @a varchar(max)

select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'--這個是要查詢的字串

while charindex('qwer',@a)<>0

begin

select @a=substring ( @a,charindex('qwer',@a)+5,len(@a)-charindex('qwer',@a)-4)

insert into #a values (@a)

endselect substring (ltrim ( string) ,1,charindex(' ',ltrim ( string))) as result from #a

--查詢結果

result

zxcv

yuchor

abcd

5樓:匿名使用者

能實現的,這個又不難,你用什麼資料庫的,每個資料庫的sql語法是不一樣的,函式也是不一樣的

6樓:匿名使用者

如果 是 「asdf qwer qwer qwer qwer zxcv 1234 的模式的話:

select trim(substring_index(substring_index(「asdf qwer zxcv 1234","qwer",-1)," ",2))

7樓:匿名使用者

charindex

返回字串中指定表示式的起始位置。

語法 charindex ( expression1 , expression2 [ , start_location ] )

引數 expression1

乙個表示式,其中包含要尋找的字元的次序。expression1 是乙個短字元資料型別分類的表示式。

expression2

乙個表示式,通常是乙個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。

start_location

在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是乙個負數或零,則將從 expression2 的起始位置開始搜尋。

例如:select charindex( 'you ', 'i love you ')

你利用一下就能實現。至於多個可以迴圈擷取字串。

sql查詢語句,提取某個字元後面的字元

8樓:射手幽靈伊

可以使用 charindex找出@所在的位置,然後進行字串的處理。最後再彙總。

示例如下:

select right(a,len(a) - charindex('@',2) ) a,count(1) from a

group by right(a,len(a) - charindex('@',2) )

9樓:匿名使用者

select right(a,len(a)-charindex('@',a)) aa,count(1)

from a

group by right(a,len(a)-charindex('@',a))

10樓:匿名使用者

select substring(a,patindex('%@%',a),10) mc,

count(substring(a,patindex('%@%',a),10)) sl

from a

group by substring(a,patindex('%@%',a),10)

11樓:微風

select right(a, len(a) - charindex('@',a)) ,count(*) from a

group by right(a,len(a) - charindex('@',a))

sql server 如何擷取乙個字串中第2個'-'後面的字元

12樓:司馬刀劍

sql語句可以擷取指定字段後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。

如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。

可用如下語句:

1select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

結果截圖:

charindex函式說明:

語法:charindex ( expression1 , expression2 , [ start_location ] )

引數:expression1

乙個表示式,其中包含要尋找的字元的次序。expression1 是乙個短字元資料型別分類的表示式。

expression2

乙個表示式,通常是乙個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。

start_location

在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是乙個負數或零,則將從 expression2 的起始位置開始搜尋。

substring函式說明:

語法:substring( expression, start, length)

引數:expression 字串、二進位制字串、文字、影象、列或包含列的表示式start 整數或可以隱式轉換為 int 的表示式,指定子字串的開始位置length 整數或可以隱式轉換為 int 的表示式,指定子字串的長度

sql語句,如何擷取指定欄位某乙個字元出現後的後面的字串嗎

13樓:金貞怡嵇奕

sql語句可以擷取指定字段後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。

如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。

sql按欄位指定值排序,sql如何根據欄位內的某個值排序

這個需要在排序語句中使用條件判斷 例如 表 table temp 中列 col1 為字元,屬性為varchar 10 排序時需要按照b a c的順序顯示,則可按照以下sql語句 select from table temp order by case when col1 b then 1 when ...

sql實現如下查詢 查詢符合條件的某字段並在每個後面顯示統計記錄數,具體如圖

你這 bai絕對 du是沒zhi 規律dao的硬性 select a.unit,b.sum from select unit from user where level 3 a select count as sum from user where level 3 b sql如何查詢一定資料條數內符...

acess中,如何用sql語句查詢表中欄位名,型別,長度,允許空等資訊

在做動態建表時,遇到了乙個很棘手的問題 如何判斷乙個表在資料庫中是否存在?開始,想到的是 先去執行建立表的sql語句,如果此語句錯誤,則該錶可能存在於資料庫當中 為什麼?後來,感覺此法大大不妥,上網查了半天,才知道這個問題可通過系統表圓滿的解決。access當中系統表中有乙個叫msysobjects...