日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sql字符串函数(1)

發布時間:2023/12/9 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。