深入SQL截取字符串(substring與patindex)的詳解
首先學習兩個函數(shù)
1.substring 返回字符、binary、text 或 image 表達式的一部分。
基本語法:SUBSTRING ( expression , start , length )
expression:字符串、二進制字符串、text、image、列或包含列的表達式
start:整數(shù),指定子串的開始位置 注:SQL中"1"表示字符串中的第一個字符,而.NET中"0"表示第一個字符
length:整數(shù),指定子串的長度(要返回的字符數(shù)或字節(jié)數(shù))
2.patindex 返回指定表達式中某模式第一次出現(xiàn)的起始位置;如果在全部有效的文本和字符數(shù)據(jù)類型中沒有找到該模式,則返回零。
基本語法:PATINDEX ( '%pattern%' , expression )
pattern:字符串??梢允褂猛ㄅ浞?pattern 之前和之后必須有 % 字符(搜索第一個和最后一個字符時除外)。pattern 是短字符數(shù)據(jù)類型類別的表達式
expression:表達式,通常為要在其中搜索指定模式的列,expression 為字符串數(shù)據(jù)類型類別
下面結(jié)合上面的兩個函數(shù),截取字符串中指定的字符
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日'
相關(guān)文章
揭秘SQL Server 2014有哪些新特性(3)-可更新列存儲聚集索引
可更新的列存儲索引作為SQL Server 2014的一個關(guān)鍵功能之一,在提升數(shù)據(jù)庫的查詢性能方面貢獻非常突出。據(jù)微軟統(tǒng)計,在面向OLAP查詢統(tǒng)計類系統(tǒng)中,相比其他SQL傳統(tǒng)版本的數(shù)據(jù)庫,報表查詢的性能最大可提升上十倍。2014-08-08SQL Server實現(xiàn)將特定字符串拆分并進行插入操作的方法
這篇文章主要介紹了SQL Server實現(xiàn)將特定字符串拆分并進行插入操作的方法,涉及SQL Server的循環(huán)、遍歷、判定及插入等相關(guān)操作技巧,需要的朋友可以參考下2016-08-08SQL Server 2000/2005/2008刪除或壓縮數(shù)據(jù)庫日志的方法
最近win2008 r2的服務(wù)器比較卡,打開服務(wù)器顯示也特別慢,sqlserver業(yè)務(wù)費正常執(zhí)行,服務(wù)器桌面操作也比較卡,經(jīng)過多方研究發(fā)現(xiàn)原來是sqlserver日志文件已經(jīng)達到了84G導致,這里就為大家分享一下解決方法,需要的朋友可以參考一下2019-09-09