深入SQL截取字符串(substring與patindex)的詳解


首先學習兩個函數
1.substring  返回字符、binary、text 或 image 表達式的一部分。
基本語法:SUBSTRING ( expression , start , length )
expression:字符串、二進制字符串、text、image、列或包含列的表達式
start:整數,指定子串的開始置      注:SQL中"1"表示字符串中的第一個字符,而.NET中"0"表示第一個字符
length:整數,指定子串的長度(要返回的字符數或字節數)

2.patindex  返回指定表達式中某模式第一次出現的起始置;如果在全部有效的文本和字符數據類型中沒有找到該模式,則返回零。
基本語法:PATINDEX ( '%pattern%' , expression )
pattern:字符串。可以使用通配符,但 pattern 之和之后必須有 % 字符(搜索第一個和最后一個字符時除外)。pattern 是短字符數據類型類別的表達式
expression:表達式,通常為要在其中搜索指定模式的列,expression 為字符串數據類型類別

下面結合上面的兩個函數,截取字符串中指定的字符

復制代碼 代碼如下:

declare @a varchar(50)
set @a='2009年7月15日星期五'
select substring(@a,1,4) --獲取年份2009
declare @b int
set @b=patindex('%日%',@a) --獲取'日'這個字符在字符串中的 置,即10
select substring(@a,6,@b-5) --獲取日期'7月15日'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM