1. 程式人生 > >sql按指定符號分割字串,返回分割後指定索引的第幾個元素,象陣列一樣方便

sql按指定符號分割字串,返回分割後指定索引的第幾個元素,象陣列一樣方便

CREATE function Get_StrArrayStrOfIndex 

@str varchar(1024), --要分割的字串 
@split varchar(10), --分隔符號 
@index int --取第幾個元素 

returns varchar(1024) 
as 
begin 
declare @location int 
declare @start int 
declare @next int 
declare @seed int 

set @str=ltrim(rtrim(@str)) 
set @start=1 
set @next=1 
set @seed=len(@split) 

set @location=charindex(@split,@str) 


while @location<>0 and @index>@next 
begin 
set @[email protected][email protected] 
set @location=charindex(@split,@str,@start) 
set @[email protected]+1 
end 
if @location =0 select @location =len(@str)+1 
--這兒存在兩種情況:1、字串不存在分隔符號 2、字串中存在分隔符號,跳出while迴圈後,@location為0,那預設為字串後邊有一個分隔符號。 

return substring(@str,@start,@
[email protected]

end 

呼叫:select dbo.Get_StrArrayStrOfIndex('8,9,4',',',2)

相關推薦

sql指定符號分割字串返回分割指定索引元素陣列一樣方便

CREATE function Get_StrArrayStrOfIndex ( @str varchar(1024), --要分割的字串 @split varchar(10), --分隔符號 @index int --取第幾個元素 ) returns varchar(1024) as begin decla

Mybatis中當插入資料返回最新主鍵id的種方法及具體用法

                一、前言                                     資料庫操作怎能少了INSERT操作呢?下面記錄MyBatis關於INSERT操作的筆記,以便日後查閱。二、 insert元素 屬性詳解                              其

連結串列---給定一個連結串列刪除連結串列中倒數n節點返回連結串列的頭節點

連結串列中的節點個數大於等於n 給出連結串列1->2->3->4->5->null和 n = 2. 刪除倒數第二個節點之後,這個連結串列將變成1->2->3->5->null ListNode removeNthF

給定日子返回是一週的天--【程式設計珠璣】

這一題其實是和上一篇是一個系列的,由於我只找到1900年1月1日星期一,暫且先判斷這以後的日期吧;(一週的第一天是星期天,即週日) 上一篇是用來得到兩個日期的天數的,那這一道就竊取上一道的勞動成果了; 通過得到目的日期與1900-1-1相差日期,對7取餘,判斷即可:

java實現單向連結串列CRUD反轉,排序查詢倒數k元素遞迴輸出等操作

package myLink; import javax.xml.transform.Templates; public class LianBiao { static Node head=null; /** * 查詢單鏈表的中間節

MIS的趨勢必定是圍繞機器取代人手分工越來越細(小餐廳都支持微信自助點餐結賬時就打相當於省了1、2人手SQL發明以後程序員的工作更多了)

nbsp 我認 公司 點餐 管理系 特定 組裝 bsp 適合 最後,我還想簡略的談談MIS及MIS快速開發工具的未來。MIS的趨勢必定是圍繞機器取代人手,分工越來越細。比如:現在有些小型的咖啡廳裏的財務子系統就簡單到不需要使用者有會計知識,相當於省了會計人手;有些小餐廳都支

oracle trunc 函數處理日期格式日期類型很有用的sql

char mon 函數 -m span 截取 報錯 sys 默認 select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual; --顯示當前時間 2011-12-29 16:24:34 select trunc(

26、有一行電文下面規律譯成密碼即第一字母變成26字母I字母變成(26-i+1)

targe 第一個 span clas spa -i 擴展 title 知識 擴展知識 參考 請輸入一個數字,把它顯示為對應的字母,比如輸入65,顯示A,輸入97,顯示a 26、有一行電文,已按下面規律譯成密碼即第一個字母變成第26個字母,第I個字母變成第(26-i+1

LeetCode-陣列移出元素與刪除重複項返回操作陣列長度

移出元素 給定 nums = [3,2,2,3], val = 3, 函式應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2。 你不需要考慮陣列中超出新長度後面的元素。 記得返回的是陣列的長度 class Solution { public: int removeEl

SQL SERVER 擷取多分隔符中指定分隔符的前邊的內容

       又是一個難懂的標題,上例子吧,比如一個字串,‘abc,1344,343,13as,33,343’,這個字串都是用','分隔的,現在想擷取第四個逗號前邊所有的內容,方法如下: CREATE FUNCTION [dbo].[Get_StrArra

單鏈表反轉返回反轉連結串列頭結點--360測試實習生面試題

為了正確反轉一個連結串列,需調整指標指向,例如i,m,n是3個相鄰結點,假設結點i之前的指標已調整完畢,,這些結點的next指標都指向前面一個結點,遍歷到結點m時,需要調整結點的next指標,避免連結串列斷開,在調整之前需儲存n,然後找反轉後連結串列的頭結點(即原連結串列的尾

堅持堅持!用Java寫出刪除一個連結串列的倒數N節點返回頭節點(N總是可達的)

這個題目有個前提條件就是N總是可達的,所以直接省去了一種情況(N不可達時的情況) 思路: 資料結構裡面首先給定兩個指標p和q分別都指向這個連結串列的頭節點,然後若想求出這個連結串列的倒數第N個節點,方法就是先讓p向後挪N個位置,q不動。 因為N總是可達的,所以會有倆種情況,

PHP陣列操作求並集交集差集陣列字串的相互轉換及陣列去重

在php中如果我想要對兩個陣列進行如並集、交集和差集操作,我們可直接使用php自帶的函式來操作如array_merge(),array_intersect(),array_diff(). 計算陣列的合併 array_merge與“+”的區別 array_merge() 函式

Lintcode 680. split string(分割字串)(更改

給一個字串,你可以選擇在一個字元或兩個相鄰字元之後拆分字串,使字串由僅一個字元或兩個字元組成,輸出所有可能的結果 您在真實的面試中是否遇到過這個題?  Yes 樣例 給一個字串"

37-正則表示式(概述+符號+對字串的常見操作(正則的四功能))+Pattern+Matcher+練習題

一、正則表示式概述 1、正則表示式:用於操作字串資料,通過一些特定的符號體現 2、String類中 (1)public boolean matches(String regex):告知此字串是否匹配給定的正則表示式。呼叫此方法的str.matches(regex)形式與

有一個整數n,寫一個函式f(n)返回0~n之間出現的“1”的個數例如f(1)=1; f(13)=6(1,10,11,12,13一共61)最大的f(n)=n的n是多少

import java.util.Arrays; import java.util.LinkedList; import java.util.List; public class learn {   public static int jj = 0; public sta

查詢連結串列中倒數k節點若查詢成功返回資料域的值

有兩種思路: 思路一:首先遍歷一遍連結串列,得到連結串列長度n,然後返回n-k+1個節點的資料域 思路二:定義兩個指標p和q,都指向頭節點的下一個節點,等到p移動到第k個節點,q和p同步移動,等到p移

SQL 一個使用者表中有一個積分欄位假如資料庫中有100多萬使用者若要在每年第一天凌晨將積分清零你將考慮什麼你將想什麼辦法解決?

                    alter table drop column score;                   alter table add colunm score int;                   可能會很快,但是需要試驗,試驗