Sql字符串函数(1)
--1.截取已知長度的函數
Select @S1='http://www.163.com'-- A.截取從字符串左邊開始N個字符 Declare @S1 varchar(100)?顯示結果: http
Select Left(@S1,4)
Select @S1='http://www.163.com' -- B.截取從字符串右邊開始N個字符(例如取字符http://www.163.com/) Declare @S1 varchar(100)?顯示結果: http://www.163.com/
Select right(@S1,11)
?
Select @S1='http://www.163.com' -- C.截取字符串中任意位置及長度(例如取字符www) Declare @S1 varchar(100)??顯示結果: http://www.163.com/
Select SUBSTRING(@S1,8,3)
?
-- 2.截取未知位置的函數
A.截取指定字符串后的字符串(例如截取http://后面的字符串)
方法一: Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
/*此處也可以這樣寫:Select Substring(@S1,CHARINDEX('//',@S1)+2,Len(@S1))*/
------------------------------------
顯示結果: http://www.163.com/
?
需要注意:CHARINDEX函數搜索字符串時,不區分大小寫,因此CHARINDEX('www',@S1)也可以寫成CHARINDEX('WWW',@S1)
?
方法二:(與方法一類似) Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫:Select Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
------------------------------------
顯示結果: http://www.163.com/
?函數PATINDEX與CHARINDEX區別在于:前者可以參數一些參數,增加查詢的功能
方法三: Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select REPLACE(@S1,'http://','')
------------------------------------
顯示結果: http://www.163.com/
利用字符替換函數REPLACE,將除需要顯示字符串外的字符替換為空
方法四: Declare @S1 varchar(100)
Select @S1='http://www.163.com'
Select STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
------------------------------------
顯示結果: 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獲取需要截取的字符串長度
?
?
?
Declare @S1 varchar(100)
Select @S1='ty_1234567'
Select Substring(@S1,0,4)
Select Left(@S1,3)
SELECT PATINDEX('ty_%',@S1)
SELECT 1 WHERE 'ty_123' LIKE 'ty[_]%'
?
轉載于:https://www.cnblogs.com/andy_tigger/archive/2010/07/16/1778509.html
總結
以上是生活随笔為你收集整理的Sql字符串函数(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu安装rz sz
- 下一篇: SqlServer之代码块相关