1. 程式人生 > >MySQL裡實現類似SPLIT的分割字串的函式

MySQL裡實現類似SPLIT的分割字串的函式


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

相關推薦

MySQL實現類似SPLIT分割字串函式

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

SQL類似SPLIT分割字串函式

-SQL對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是T-SQL不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列create   function   f_split(@c

lua實現類似巨集定義,動態生成程式碼

其實就是用了  lua 的 loadstring 功能。 1.把需要動態生成的程式碼拼接成為一個字串。 str 2. loadstring(str)   這個只是解析了程式碼,相當於一個function   需要 執行一下才會生效

自定義分割字串函式

create function [dbo].[f_split] ( @c varchar(2000),--需要分割的字串(例如:1,2,3,4,5 我|和|你) @split varchar(2)--分隔符(例如 , | $) ) returns @t table(co

利用OpenCV findNonZero函式實現類似matlab中find函式的功能

OpenCV和matlab都提供了強大的矩陣處理功能。但matlab也有一些功能是openCV不具備的。如find函式,可以找出矩陣中某個特定值的行列號。本文介紹一種方法,可以模擬find函式的功能。 // OpenCVFind.cpp : 定義控制檯應用程式的入口點。 /

boost使用split分割字串

工程中使用boost庫:(設定vs2010環境) 在Library files加上 D:\boost\boost_1_46_0\bin\vc10\lib 在Include files加上 D:\boost\boost_1_46_0使用舉例: // boostTest.cp

split 分割 字串(分隔符如:* ^ : | , .) 及注意點

【1】單個符號作為分隔符         Stringaddress="上海|上海市|閔行區|吳中路";      String[]splitAddress=address.split("\\|");//如果以豎線為分隔符,則split的時候需要加上兩個斜槓【\\】進行轉義

Java split 分割 字串(分隔符如:* ^ : | , .) 及注意點 要轉義

(1)split表示式,其實就是一個正則表示式。* ^ | 等符號在正則表示式中屬於一種有特殊含義的字元,如果使用此種字元作為分隔符,必須使用轉義符即\加以轉義。 (2)如果使用多個分隔符則需要藉助

String.split()分割字串,轉義字元

1、String.split()String有個方法是分割字串  .split()。但是有寫字串是需要轉義才能分割,不然就會出錯。需要轉義的字串:.  $  |   (   )  [   {   ^  ?  *  +  \\      共12個特殊字元,遇到以這些字元進行分割

split 分割 字串(分隔符如:* ^ : | , .) 及注意點

【1】單個符號作為分隔符 String address=”上海|上海市|閔行區|吳中路”; String[] splitAddress=address.split(“\|”); //如果以豎線為分隔符,則split的時候需要加上兩個

幾個常用的C查詢分割字串函式

搜尋字串函式 strstr原型: extern char *strstr (char *__haystack, const char *__needle)  所在標頭檔案:#include <s

除錯經驗——使用自定義函式在Oracle中實現類似LISTAGG函式的行轉列(字串連線)功能

問題描述: LISTAGG函式是一個很實用的函式,但僅在Oracle 11.2以後的版本中才有。 生產環境中有個資料庫是Oracle 11.1,需要行轉列,但並不能使用LISTAGG函式。 解決方法: 參考以下文章: https://oracle-base.com/artic

MySQL if 函式實現類似Oracle decode函式功能

SQL SELECT if(timestampdiff(hour, sa.add_time, now()) < 1000, if(timestampdiff(hour, sa.add_time, now()) < 300, if(timestampd

mysql建立自定義函式---將某欄位以逗號分割並取出第一個資料

一、檢視常見函式的功能是否開啟 mysql> show variables like '%func%'; value值為OFF時。需要將其開啟. mysql> set gl

函式實現 -- 分割字串,並獲取最後一段字串

在寫myshell的時候, 發現系統shell會顯示當前目錄, 也想實現這樣的效果, 但是我只找到了一個函式 char *getcwd( char *buffer, int maxlen ); //功 能:獲取當前工作目錄 //引數說明:getcwd()會將當

python split同時用多種字元分割字串並去除空串 簡單兩行程式碼實現

程式碼使用的是python3的語法,python2只需要修改其中部分內容,同樣可以使用 兩行程式碼實現需求 這裡把程式碼直接給出,方便大家直接使用 >>> s

精簡程式碼:Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串

 Python的split方法函式可以分割字串成列表,預設是以空格作為分隔符sep來分割字串。 In [1]: s = "www jeapedu com" In [2]: print s.split()   ['www', 'jeapedu', 'com']  

c/cpp中如何分割字串類似split的功能

在python中,如果要求當前時間的unix時間戳,我特別喜歡這麼用: import time timestr = time.time() timestamp = int(timestr.split('.')[0]) 這裡的split函式,我非常喜歡,在java、c#和

Java中分割字串split()的用法小結

用"."做分隔符,必須是如下寫法 String.split("\\."),不能是String.split("."); 用"|"做分隔符,必須是如下的寫法 String.split("\\|"),不能是String.split("|"); 如果在一個字串中有多

mysql擷取字串函式left和right和substring和substring_index

15.擷取字串 (1)從左開始擷取字串 left(str,length) str:要擷取的字串 length:要擷取的長度 select left(t.szzbm, 6) from T_AEFIXX t (2)從右開始擷取字串 right(str,length) str:要擷取的字串 l