如何獲取最後字元後面的字串sql中

2022-01-08 07:04:08 字數 5738 閱讀 2015

1樓:郯翊淦光赫

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的表示式,指定子字串的長度

2樓:day忘不掉的痛

一.如:'6.7.8.2.3.4.x'得到最後一個'.'後面的字串:

declare @str1 varchar(50)

set @str1='6.7.8.2.3.4.x'

select reverse(substring(reverse(@str1),1,charindex('.',reverse(@str1))-1)) -------- string:'x'--

二.如:'6.7.8.2.3.4.x'得到最後一個'.'前面的字串:

declare @str2 varchar(50)

set @str2='6.7.8.2.3.4.x'

select substring(@str2,1,(len(@str2)-charindex('.',reverse(@str2)))) string:'6.

7.8.2.

3.4'--

三.如:'6.7.8.2.3.4.x'得到最後一個'.'在字串的位置:

declare @str3 varchar(50)

set @str3='6.7.8.2.3.4.x'

select len(@str3)-charindex('.',reverse(@str3))+1 --------integer:12--

3樓:匿名使用者

是要找字串中最後一個「/」嗎?可以用string.lastindexof('/');

4樓:

select right(attachurl, charindex('/',reverse(attachurl))-1) from attach

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

5樓:教育仁昌

工具/材料:management studio。

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

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

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

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

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

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

6樓:司馬刀劍

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 的表示式,指定子字串的長度

擷取一個字串的最後6位sql語句怎麼寫?

7樓:a雄

看了一下回答,我還是說幾句吧,希望有所幫助。

對sql字串的擷取現在有兩種方法,

一種是:用right函式。

如果你的字串已經讀取到的話,假如放在strings自己定義的變數裡面

就可以用:select right('strings',4) 此函式返回的結果是,字串strings

的最後四位,如果strings不足四位或剛好四位,則全部返回。

如果你的字串是從表中讀取出來的話,可以先定義一個變數

declare @string 把查詢出的字串賦值過去,使用:

select right('@string',4),就可以了,理解同上。

另一種是:用substring函式

select substring('1234567',len('1234567')-4,4)

返回的結果是:『4567』 或用上面的自定義變數才儲存查詢出來的字串。

小小一例:

godeclare @string char(10)

set @string='1234567' ----可以是一條sql語句,返回的結果是一個字串

select substring('1234567',len('1234567')-4,4)

go應該清楚了吧? ^_^ 要是有什麼不清楚的,隨時hi我 相互學習!

8樓:仰春勞婷

用right()

函式就可以了,

如:right(str,6)

'str

你要擷取的字串

然後,在你的sql語句中引用它就行了.

9樓:房驕己陽德

select

substring('123456789',len('123456789')-5,len('123456789'))

'123456789'用變數移植起來就不麻煩了

10樓:匿名使用者

right

返回字串中從右邊開始指定個數的 integer_expression 字元。

語法right ( character_expression , integer_expression )

引數character_expression

由字元資料組成的表示式。character_expression 可以是常量、變數,也可以是字元或二進位制資料的列。

integer_expression

是起始位置,用正整數表示。如果 integer_expression 是負數,則返回一個錯誤。

示例下例返回每個作者名字中最右邊的六個字元。

use pubs

goselect right(au_fname, 6)

from authors

order by au_fname

11樓:

oracle / sql :

擷取後n位:

substr(欄位,length(欄位)-n + 1 ,n )select substr('123456789',length('123456789')-n+1,n) from dual;

當 n=6 :

select substr('123456789',length('123456789')-6+1,6) from dual;

12樓:北京pcb設計

使用right函式。

select right('123456789',6) as cc-----------

result

'456789'

不過移植起來會有點麻煩

擷取一個字串的最後6位sql語句怎麼寫?

13樓:匿名使用者

oracle / sql : 擷取後n位:substr(欄位,length(欄位)-n + 1 ,n ) select substr('123456789',length('123456789')-n+1,n) from dual;當 n=6 :

select substr('123456789',length('123456789')-6+1,6) from dual;

14樓:匿名使用者

看了一下回答,我還是說幾句吧,希望有所幫助。 對sql字串的擷取現在有兩種方法, 一種是:用right函式。

如果你的字串已經讀取到的話,假如放在strings自己定義的變數裡面就可以用:select right('strings',4) 此函式返回的結果是,字串strings的最後四位,如果strings不足四位或剛好四位,則全部返回。 如果你的字串是從表中讀取出來的話,可以先定義一個變數declare @string 把查詢出的字串賦值過去,使用:

select right('@string',4),就可以了,理解同上。 另一種是:用substring函式 select substring('1234567',len('1234567')-4,4) 返回的結果是:

『4567』 或用上面的自定義變數才儲存查詢出來的字串。小小一例:godeclare @string char(10)set @string='1234567' ----可以是一條sql語句,返回的結果是一個字串select substring('1234567',len('1234567')-4,4)go應該清楚了吧?

^_^ 要是有什麼不清楚的,隨時hi我 相互學習!

jquery字串校驗 如何判斷字串是否既有數字有含有英文字母,且長度大於

var str 1234abcd function strcheck str else else alert strcheck str jquery中怎麼判斷一個字串中是否包含數字 直接寫一個正則就行,比如 用isnan方法,示例 12 3456 78有任何疑問,歡迎追問.jquery判斷字串是否只...

js中如何拼接字串,在js中進行字串拼接。

js中有三種字串連線方式 第一種方法 用連線符 把要連線的字串連起來 str a str b 第二種方法,以陣列作為中介用 join 連線字串 var arr new array arr.push a arr.push b var str arr.join 第三種方法,利用物件屬性來連線字串 js中...

c 中字元陣列,如何轉成字串啊

如果你想把一個字串變成陣列,你只需要將字串初始化為陣列變數的值即可。例如 char c 10 this is 在c 裡字串在記憶體的儲存方式就是按字串陣列的形式儲存的,所以不用轉換!用cstring的getbuffer函式返回一個存放字元的頭指標,用一個char 來接受他,然後用下標操作就可以了。例...