sql函式版Split(字串擷取)
Create FUNCTION [dbo].[split](@Long_str varchar(8000),@split_str varchar(100))
RETURNS @tmp TABLE(
ID int IDENTITY PRIMARY KEY,
short_str varchar(8000)
)
AS
BEGIN
DECLARE @long_str_Tmp varchar(8000),
@short_str varchar(8000),
@split_str_length int
SET @split_str_length = LEN(@split_str)
IF CHARINDEX(@split_str,@Long_str)=1
SET @long_str_Tmp=SUBSTRING(@Long_str,
@split_str_length+1,
LEN(@Long_str) [email protected]_str_length)
ELSE
SET @[email protected]_str
IF CHARINDEX(REVERSE(@split_str),REVERSE(@long_str_Tmp))>1
SET @[email protected][email protected]_str
ELSE
SET @[email protected]_str_Tmp
WHILE CHARINDEX(@split_str,@long_str_Tmp)>0
BEGIN
SET @short_str=SUBSTRING(@long_str_Tmp,1,
CHARINDEX(@split_str,@long_str_Tmp)-1)
DECLARE @long_str_Tmp_LEN INT,@split_str_Position_END int
SET @long_str_Tmp_LEN = LEN(@long_str_Tmp)
SET @split_str_Position_END = LEN(@short_str) [email protected]_str_length
SET @long_str_Tmp=REVERSE(SUBSTRING(REVERSE(@long_str_Tmp),1,
@[email protected]_str_Position_END))
IF @short_str<>'' INSERT INTO @tmp SELECT @short_str
END
RETURN
END
--支援分割符多位元組
--使用方法 --select * from dbo.split('abc-def-ghi-jkl','-')
--select * from dbo.split('abc----def----ghi----jkl','----')
轉自:http://9bugaosu1.blog.163.com/blog/static/6272222520107214106342/相關推薦
sql函式版Split(字串擷取)
Create FUNCTION [dbo].[split](@Long_str varchar(8000),@split_str varchar(100)) RETURNS @tmp TABLE( ID int IDENTITY PRIM
MySQL字串函式substring:字串擷取
MySQL 字串擷取函式:left(), right(), substring(), substring_index()。還有 mid(), substr()。其中,mid(), substr() 等價於 substring() 函式,substring() 的功能非常強大
SQL Server自定義字串分割函式——Split
我相信大部分人都碰到過,處理資料的時候,欄位的值是以 ',' (逗號)分隔的形式,所以我也不能避免。 然後我才知道,sql 是沒有類似於 C# 和 Javascript 這種分割字串的方法。( Split ) 所以我自己定義了一個 sql 函式(多宣告表值函式),程式碼如下:
SQL裡類似SPLIT的分割字串函式
-SQL對字串的處理能力比較弱,比如我要迴圈遍歷象1,2,3,4,5這樣的字串,如果用陣列的話,遍歷很簡單,但是T-SQL不支援陣列,所以處理下來比較麻煩。下邊的函式,實現了象陣列一樣去處理字串。一,用臨時表作為陣列create function f_split(@c
ive函式 -- split 字串分割函式
hive字串分割函式 split(str, regex) - Splits str around occurances that match regexTime taken: 0.769 seconds, Fetched: 1 row(s) 返回值為一個數組 a.基本用法: 例1: spl
常用SQL函式(字串分隔轉表、自增長轉編號)
字串分隔轉表 -- ============================================= -- Author: -- Create date: -- Description: 分割字串 -- =====================================
Delphi 字串擷取函式
如果要使用LeftStr,RightStr,MidStr必需引用系統單元StrUtils; 宣告變數Str:string; Str:=HelloWorld; 1,LeftStr(Str,2)=He;//從Str字串變數的最左邊(第一個字元包括第一個字元)開始擷取2個字元; 2,RightStr(Str
字串擷取函式substr()
substr(引數1,引數2[,引數3]); 該系統函式返回被截後的子字串,它接受2個必選引數,引數1為要擷取的字串,引數2為擷取的開始位置,引數3可選,表示擷取長度。 例子:substr(“abcdef”,1);//返回"bcdef",從索引1處開始擷取,如果沒有指定擷取長度,
excel oracle 字串擷取函式
excel left(text,num_chars),從左側開始擷取部分字串 right(text,num_chars),從右側開始擷取部分字串 其中:text表示要擷取的字串,num_chars表示要擷取的字元數 mid(text,start_num,num_chars),中間某位置開始擷取部分字串
sql 分隔(split)字串轉行
一對多關係寫成一行資料,強行埋坑,下面是我的解決辦法,在效率方面這樣肯定不如好好構建資料關係,正常去做的快,如果可以我建議你去重構資料表結構 : ) 1.mysql 首先建立一個儲存過程,可以將分隔的資料行插入到一個臨時表中 CREATE DEFINER=`
PHP中常用的字串擷取函式
1.substr(源字串,起始位置[,長度])-擷取字串返回部分字串 <?php $str ="phpddt.com"; echo substr($str,2);//pddt.com echo substr($str,2,3);//pdd
oracle單行函式(大小寫轉換,字串替換,字串擷取...)
Oracle單行函式分為以下幾種: 字串函式有UPPER( ) LOWER( ) INITCAP( ) REPLACE( ) LENGT
SQL Server對比兩字串的相似度(函式演算法)
ALTER FUNCTION FNStrCompare (@Val1 VARCHAR(50),---比較字串1 @Val2 VARCHAR(50),---比較字串2 @Break VARCHAR(10) ---分隔符 ) RETURNS INT AS BEGIN DECLARE @
PHP技術分享--實現中文字串擷取無亂碼的函式(適用於utf-8)
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
Oracle函式,按分隔符擷取字串 [問題點數
今天因工作需要,寫了一個小函式,按分隔符擷取字串的,分享出來,希望有需要的朋友能用到。功能例項: substrbysep('aaa,bb,ccccc,ddd,vvv',',',3)返回結果 'ccccc'.函式:create or replace function sub
c語言的split字串分割函式strtok的使用
c語言也有類似其他語言的split字串分割函式,就是strtok 標頭檔案:#include <string.h>定義函式:char * strtok(char *s, const char *delim);函式說明:strtok()用來將字串分割成一個個片段。
字串擷取 JS字串擷取函式slice(),substring(),substr()的區別
JS字串擷取函式slice(),substring(),substr()的區別 在JS中,slice()、substring()、substr()都有擷取字串的作用,那他們有哪些用法上的區別呢?如果你也有疑惑,這篇文章或許能夠幫助到你。 一、substring() substrin
SQL函式charindex用於匹配用逗號分隔的字串
SQL中沒有類似VB中的Split的函式。此時,如要匹配 ,6,3,9,22,中的6。可用charindex函式巧妙實現: charindex( ',' +cast(6 as varchar)+ ',',‘,6,3,9,22,’)>0 SELECT distinct PO_Pomain.POID,PO
C語言實現的字串擷取函式
如題,實現的就是字串擷取函式,傳入字串以及要擷取的位置,返回擷取後的字串,函式如下,測試可用。 char *cutwords(char *page,int start,int end){ ch
Pl/SQL中的SPLIT函式
createorreplace type type_split astableofvarchar2(50); --建立一個 type ,如果為了使split函式具有通用性,請將其size 設大些。--建立functioncreateorreplacefunction split( p_list va