Ⅰ sql substring()從右邊開始截取字元串
1、創建測試表,create table test_substr(value varchar2(200));
Ⅱ SQL截取字元串函數分享
A.截取從字元串左邊開始N個字元
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Left(@S1,4)
------------------------------------
顯示結果:
http
B.截取從字元串右邊開始N個字元(例如取字元www.163.com)
Declare
@S1
varchar(100)
Select
@S1='http://www.163.com'
Select
right(@S1,11)
------------------------------------
顯示結果:
www.163.com
C.截取字元串中任意位置及長度(例如取字元www)
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
SUBSTRING(@S1,8,3)
------------------------------------
顯示結果:
www
以上例子皆是已知截取位置及長度,下面介紹未知位置的例子
2.截取未知位置的函數
A.截取指定字元串後的字元串(例如截取http://後面的字元串)
方法一:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此處也可以這樣寫:Select
Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
------------------------------------
顯示結果:
www.163.com
需要注意:CHARINDEX函數搜索字元串時,不區分大小寫,因此CHARINDEX('www',@S1)也可以寫成CHARINDEX('WWW',@S1)
方法二:(與方法一類似)
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫:Select
Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
------------------------------------
顯示結果:
www.163.com
函數PATINDEX與CHARINDEX區別在於:前者可以參數一些參數,增加查詢的功能
方法三:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
REPLACE(@S1,'http://','')
------------------------------------
顯示結果:
www.163.com
利用字元替換函數REPLACE,將除需要顯示字元串外的字元替換為空
方法四:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
------------------------------------
顯示結果:
www.163.com
函數STUFF與REPLACE區別在於:前者可以指定替換范圍,而後者則是全部范圍內替換
B.截取指定字元後的字元串(例如截取C:\Windows\test.txt中文件名)
與A不同的是,當搜索對象不是一個時,利用上面的方法只能搜索到第一個位置
方法一:
Declare
@S1
varchar(100)
Select
@S1='C:\Windows\test.txt'
select
right(@S1,charindex('\',REVERSE(@S1))-1)
-------------------------------------
顯示結果:
text.txt
利用函數REVERSE獲取需要截取的字元串長度
Ⅲ SQL 右取怎麼取啊
SQL 右取用,right()函數。
right 語法
RIGHT(c,number_of_char)
返回某個被請求的文本域的右側部分
類似的有左取,left()函數。
LEFT(c,number_of_char)
返回某個被請求的文本域的左側部分
例:
Ⅳ 【搬運】Sql Server中截取字元串的常用方法
1、LEFT() 從左邊截
語法:LEFT(character,integer) 返回 從字元串左邊開始 指定個數的字元
說明:參數1:要截取的字元串,參數2:截取字元個數
示例:selectLEFT('SqlServer_2008',3)
結果:Sql
2.RIGHT() 從右邊截
語法:RIGHT(character,integer) 返回 從字元串右邊開始 指定個數的字元
說明:參數1:要截取的字元串,參數2:截取字元個數
示例:selectLEFT('SqlServer_2008',4)
結果:2008
3.SUBSTRING() 中間截
語法:SUBSTRING(character,start,length) 返回從字元串 中間 的字元
說明:參數1:要截取的字元串,參數2:開始截取的位數,參數3:要截取的字元長度
示例:selectSUBSTRING('SqlServer_2008',4,6)--4)
結果:Server
以上。
https://www.cnblogs.com/xielong/p/7670757.html
感謝二位!
Ⅳ SQL中,取字元串從右邊第2個字元到左邊的所有字元,求語句
SQL中,取字元串從右邊第2個字元到左邊的所有字元可以參考下面的代碼:
oracle
select substr('字元串',0,Len('字元串')-2) from al;
Sql Server
select substr('字元串',0,Len('字元串')-2)
(5)sql從右邊截取字元擴展閱讀:
sql語句
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 (所有包含『value1』這個模式的字元串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
Ⅵ mssql資料庫截取字元
mssql中截取字元串可以用left,right,substring函數。
left,是從字元左邊開始截取,如:截取abcdefg字元串中的前三個字元:
selectleft('abcdefg',3);
其中3為截取的長度。
rigth是從字元右邊開始截取,如截取abcdefg字元串中的後三個字元:
selectright('abcdefg',3);
其中3為截取的長度。
substring,是從任意位置截取,如截取abcdefg字元串中的第二到第四個字元:
selectsubstring('abcdefg',2,3);
其中2為開始截取的位數,3為截取的長度。
Ⅶ sql字元串截取查詢,該怎麼解決
SQL
Server
中截取字元串常用的函數:
1.LEFT
(
character_
expression
,
integer_expression
)
函數說明:LEFT
(
'源字元串'
,
'要截取最左邊的字元數'
)
返回從字元串左邊開始指定個數的字元
select
LEFT('SQL_Server_2008',4
);
返回結果:SQL_
2.RIGHT
(
character_expression
,
integer_expression
)
函數說明:RIGHT
(
'源字元串'
,
'要截取最右邊的字元數'
)
返回字元串中從右邊開始指定個數的
integer_expression
字元
select
RIGHT('SQL_Server_2008',4
);
返回結果:2008
3.
SUBSTRING
(
character_expression
,
start
,
length
)
函數說明:SUBSTRING
(
'源字元串'
,
'截取起始位置(含該位置上的字元)'
,
'截取長度'
)
返回字元、binary、text
或
image
表達式的一部分
select
SUBSTRING('SQL_Server_2008',5
,6);
返回結果:Server