程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 深入SQL截取字符串(substring與patindex)的詳解

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

編輯:關於SqlServer

首先學習兩個函數
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日'

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved