sqlserver substring函數使用方法小結

來源:互聯網
上載者:User

在操作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'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.