mssql sql 字串截取實例代碼

來源:互聯網
上載者:User
關鍵字 網路程式設計 Mssql教程

mssql sql 字串截取實例代碼

關於字串截取我們用substring函數

substring   (   expression   ,   start   ,   length   )   返回字元、binary、text   或   image   運算式的一部分。
參數
expression
是字串、二進位字串、text、image、列或包含列的運算式。 不要使用包含彙總函式的運算式。
start
是一個整數,指定子串的開始位置。
length
是一個整數,指定子串的長度(要返回的字元數或位元組數)。


left   (   character_expression   ,   integer_expression   )   返回從字串左邊開始指定個數的字元。
參數
character_expression
字元或二進位日期運算式。 character_expression   可以是常量、變數或列。 character_expression   必須是可以隱式地轉換為   Varchar   的資料類型。 否則,請使用   cast   函數顯式轉換   character_expression。
integer_expression
是正整數。 如果   integer_expression   為負,則返回空字串。
返回類型
Varchar


right   (   character_expression   ,   integer_expression   )   返回字串中從右邊開始指定個數的   integer_expression   字元。
參數
character_expression
由字元資料組成的運算式。 character_expression   可以是常量、變數,也可以是字元或二進位資料的列。
integer_expression
是起始位置,用正整數表示。 如果   integer_expression   是負數,則返回一個錯誤。
返回類型
Varchar

下面看實例
有一列的值為

title
aaaa,bb,cc
bb,ff,gg
ii

現在想截取成這樣
aaaa bb cc
bb ff gg
ii

也就是分成了3個欄位了
請根據","來取 因為需求可能會是 要第2個逗號之前且第一個逗號之後的內容
所以根據逗號來判別更好!

if object_id('tempdb.. #tb') is not null
drop table #tb
go
create table #tb (title Varchar(50))
go
insert into #tb select 'aaaa,bb,cc'
union all select 'bb,ff,gg'
union all select 'ii'
go


select
title1 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))+1),
title2 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))),
title3 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))-1),
title4 = parsename(replace(title,',','.'), len(title) - len(replace(title,',',''))-2)
from #tb

/*
title1         title2         title3         title4
-------------- -------------- -------------- --------------
aaaa           bb             cc             null
bb             ff             gg             null
ii             null           null           null

(3 行受影響)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.