程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sqlserver substring函數使用方法小結

sqlserver substring函數使用方法小結

編輯:更多數據庫知識

在操作sqlserver時候用到了substring函數
SUBSTRING ( expression, start, length )

參數
expression
字符串、二進制字符串、文本、圖像、列或包含列的表達式。請勿使用包含聚合函數的表達式。

start
整數或可以隱式轉換為 int 的表達式,指定子字符串的開始位置。

length
整數或可以隱式轉換為 int 的表達式,指定子字符串的長度(但是結果並補一個返回length字符長度,要看expression的長度和start的設置!!!!!!!!!!!)。

返回值
如果 expression 是一種支持的字符數據類型,則返回字符數據。如果 expression 是一種支持的二進制數據類型,則返回二進制數據。如果 start = 1,則子字符串從表達式的第一個字符開始

需要補充一句的是,開始start位置的設置,確實如果設置為1,會從第一個字符開始計數,2,3,4....以此類推、

select substring(ziduan,1,6)

將會選擇字段的前6個字符,比如說是200908

如果設置為0,

同樣的執行select substring(ziduan,0,6)

結果會是20090,如果換成-1

同樣執行select substring(ziduan,-1,6)

結果會是2009

同樣-2,-3,.................依次類推
下面是網絡上的其它一些文章。
substring('98765',-1,3) 結果:9
substring('98765',0,3) 結果:98
substring('98765',1,3) 結果:987
關於函數的這種情況,找了點資料,但是仍不是很明白
SubString($sourceString ,$startingLoc,$length)
$sourceString
資源字符串。

$startingLoc
子字符串在資源字符串中的起點。如果此值為負數或 0,則只返回那些所在位置大於零的字符。如果此值大於 $sourceString 的長度,則返回長度為零的字符串。

$length
[可選] 要檢索的字符數。如果沒有指定此值,它將返回從 $startingLoc 中指定的位置開始直到字符串末尾的所有字符。

如果此值為負數或 0,則只返回那些所在位置大於零的字符。

入門學習SQL
select substring(convert(varchar,birthdate),5,1) as mon ,* from employees
where substring(convert(varchar,birthdate),5,1)='8'

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