程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SqlServer中SubString與CharIndex函數的使用

SqlServer中SubString與CharIndex函數的使用

編輯:關於SqlServer

一、CHARINDEX

1:CHARINDEX語法:

    CHARINDEX ( expression1 ,expression2 [ , start_location ] )

2:參數

    expression1

一個表達式,其中包含要查找的字符的序列。expression1 是一個字符串數據類別的表達式。

  expression2

一個表達式,通常是一個為指定序列搜索的列。expression2 屬於字符串數據類別。

  start_location

開始在 expression2 中搜索 expression1 時的字符位置。如果 start_location 未被指定、是一個負數或零,則將從 expression2 的開頭開始搜索start_location 可以是 bigint 類型。

3:返回類型

如果 expression2 的數據類型為 varchar(max)nvarchar(max)varbinary(max),則為 bigint,否則為 int

4:備注

如果在 expression2 內找不到 expression1,則 CHARINDEX 返回 0

CHARINDEX 將根據輸入的排序規則執行比較操作。若要以指定排序規則進行比較,則可以使用 COLLATE 將顯式排序規則應用於輸入值。

返回的開始位置從 1 開始,而非從 0 開始。

4:例子

select charindex('A','BADF',1)  :2

select charindex('A','BADF',0)  :2

select charindex('A','BADF',2)  :2

select charindex('A','BADF',3)  :0

select charindex('G','BADF',3)  :0

 

二、SUBSTRING

1、語法

SUBSTRING ( expression ,start , length )

2、參數

expression

是字符串、二進制字符串、文本、圖像、列或包含列的表達式。不要使用包含聚合函數的表達式。

start

指定子字符串開始位置的整數。start 可以為 bigint 類型。

length

一個正整數,指定要返回的 expression 的字符數或字節數。如果 length 為負,則會返回錯誤。length 可以是 bigint 類型。

3、備注

必須以字符數指定使用 ntextcharvarchar 數據類型的偏移量(startlength)。必須以字節數指定使用 textimagebinaryvarbinary 等數據類型的偏移量。

4、例子:

select substring('GXS',-1,3) :G

select substring('GXS',-1,2) :NULL

select substring('GXS',0,1)  :NULL

select substring('GXS',1,1)  :G

select substring('GXS',1,2)  :GX

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