SQL獲取字串最後出現的位置,SQL如何取出一個字串中最後一個特殊字元右邊的字元,例如 10 20 300,怎樣得到300?

時間 2022-01-10 14:10:02

1樓:文件類共創空間

一.如:'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--

2樓:匿名使用者

declare @name nvarchar (50)

set @name = '12345.67890abcde.fghijklmnopqrstuvwxyztest'

declare @position int

--sql first indexof

set @position = charindex('.', @name);

select substring (@name, @position+1,len(@name)-@position)

--sql last indexof

set @position = len(@name) - charindex('.', reverse(@name)) + 1

select substring (@name, 0, @position)

3樓:匿名使用者

declare @str varchar(50)

set @str='1-9-3-2'

select reverse(substring(reverse(@str),1,charindex('-',reverse(@str))-1))

j**a 如何判斷一個字元在字串中最後出現的位置

4樓:

string n="fsjakhdsjkahfjkdshalfhdsahjfhdsalfjds";

n=n.substring(0,n.lastindexof("f"));

擷取n中,第0個位置到最後一個f之前的全部字元

5樓:匿名使用者

public int lastindexof(string str)

返回在此字串中最右邊出現的指定子字串的索引。

6樓:匿名使用者

int pos="fsjakhdsjkahfjkdshalfhdsahjfhdsalfjds".lastindexof("f");

7樓:匿名使用者

int index="fsjakhdsjkahfjkdshalfhdsahjfhdsalfjds".lastindexof("f");

index就是f最後出現的位置

sql如何取出一個字串中最後一個特殊字元右邊的字元,例如:10*20*300,怎樣得到300?

8樓:

使用reverse配合charindex來實現。

reverse是把字串倒置,然後通過charindex來獲取倒置之後第一個*的位置,然後使用substring函式進行字串擷取,擷取後再使用reverse倒置回來即可。

以下為例子

declare @str varchar(20)

set @str = '10*20*300'

select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1))

結果是300

以上是sqlserver的語法。

oracle資料庫也有reverse函式,不過substring要改成substr,charindex函式要改成instr函式

select reverse(substr(reverse('10*20*300'),1,instr(reverse('10*20*300'),'*') - 1)) from dual;

結果是300

9樓:匿名使用者

declare @aa varchar(30)set @aa = '10*20*300'

-- 取定長字串,如*後的3個字元

select substring(@aa, len(@aa) - charindex('*',reverse(@aa)) + 2, 3)

-- 或者取最後一個*後的所有字元

select right(@aa, charindex('*',reverse(@aa)) - 1)

-- 結果都是 300

sqlserver裡從最後擷取字串應該怎麼寫

10樓:螞蟻棚

用right函式擷取,right('abc',1)取最後一個字元

11樓:

函式substring(欄位名,起始位,長度) 下面是一個例子

select substring('201215101234',4,8)

SQL擷取字串,sql如何擷取字元

substring 返回字元 binary text 或 image 表示式的一部分。有關可與該函式一起使用的有效 microsoft sql server 資料型別的更多資訊,請參見資料型別。語法 substring expression start length 引數 expression 是字...

c如何獲取字串除最後一位外的字元

仰起臉 微笑 如果是那你確定只不要最後一個字的話可以str.substring 0,str.length 1 如果不確定就用正則匹配數字 試試看這樣行不行 string str 3000張 string result system.text.regularexpressions.regex.matc...

php 怎樣獲取字串裡面某些值

一般的方法是使用explode分隔,例子 k result 100 description 傳送失敗 result array 輸出個別變數的值。echo result result 輸出所有變數的值。print r result php 獲取字串內特定的值 你這個資料應該是json格式。在php中...