首頁 資料庫 mysql教程 SQL里面用自定义Split()完成个性化需求

SQL里面用自定义Split()完成个性化需求

Jun 07, 2016 pm 05:55 PM
split 自訂函數

为了满足需求自定义Split()在SQL中实现,代码很整洁,感兴趣的朋友可以参考下,或许对你学习sql语句有所帮助

代码如下:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function [dbo].[SplitString]
(
@Input nvarchar(max),
@Separator nvarchar(max)=',',
@RemoveEmptyEntries bit=1
)
returns @TABLE table
(
[Id] int identity(1,1),
[Value] nvarchar(max)
)
as
begin
declare @Index int, @Entry nvarchar(max)
set @Index = charindex(@Separator,@Input)
while (@Index>0)
begin
set @Entry=ltrim(rtrim(substring(@Input, 1, @Index-1)))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry'')
begin
insert into @TABLE([Value]) Values(@Entry)
end
set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input))
set @Index = charindex(@Separator, @Input)
end
set @Entry=ltrim(rtrim(@Input))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry'')
begin
insert into @TABLE([Value]) Values(@Entry)
end
return
end

函数、表都建好了,下面调用测试一下吧:
代码如下:
declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max)
set @str1 = '1,2,3'
set @str2 = '1###2###3'
set @str3 = '1###2###3###'
select [Value] from [dbo].[SplitString](@str1, ',', 1)
select [Value] from [dbo].[SplitString](@str2, '###', 1)
select [Value] from [dbo].[SplitString](@str3, '###', 0)

结果,截个图来看一下:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java String中的split方法如何使用 Java String中的split方法如何使用 May 02, 2023 am 09:37 AM

String中split方法使用String的split()方法用於按傳入的字元或字串對String進行拆分,並傳回拆分之後的陣列。 1.一般用法用一般的字符,例如@或,等符號做分隔符時:Stringaddress="上海@上海市@閔行區@吳中路";String[]splitAddr=address.split("@");System .out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3

如何解決 golang 中的 'undefined: bytes.Split” 錯誤? 如何解決 golang 中的 'undefined: bytes.Split” 錯誤? Jun 25, 2023 pm 02:02 PM

在Go語言中,bytes套件是一個用於操作位元組類型的套件,並且它包含了許多有用的方法,例如Split()方法。不過,在使用Split()方法時,你可能會遇到「undefined:bytes.Split」的錯誤。這種錯誤通常是由於Go版本不相容或缺少必要的依賴庫等原因引起的。這篇文章將介紹一些解決這種錯誤的方法。方法一:升級Go版本如

go語言中split方法有什麼用 go語言中split方法有什麼用 Jan 28, 2023 pm 01:37 PM

在go語言中,Split()方法用於分割字串,可以使用分隔符號將字串劃分為子字串列表,而子字串以切片的形式傳回。 Split()是strings套件的方法,使用前需要先匯入strings套件,使用語法為「strings.Split(待分割的字串, 分隔符號)」。

如何在MySQL中使用Python編寫自訂函數 如何在MySQL中使用Python編寫自訂函數 Sep 22, 2023 am 08:00 AM

如何在MySQL中使用Python編寫自訂函數MySQL是一種開源的關係型資料庫管理系統,常用於儲存和管理大量的資料。而Python作為一種強大的程式語言,能夠與MySQL進行無縫的整合。在MySQL中,我們經常需要使用自訂函數來完成一些特定的計算或資料處理操作。本文將介紹如何使用Python編寫自訂函數,並將其整合到MySQL中。對於編寫自訂函數,

split在python中的用法 split在python中的用法 Nov 17, 2023 am 10:13 AM

在Python中,split() 是一個常用的字串方法,用於將字串分割成子字串,並傳回一個包含這些子字串的清單。此方法可以根據指定的分隔符號將字串拆分成多個部分。其基本語法為“str.split(separator, maxsplit)”,str是要分割的字串,separator是分隔符,maxsplit是可選參數,表示最大分割次數。

深入解析JS自訂函數的聲明和調用 深入解析JS自訂函數的聲明和調用 Aug 03, 2022 pm 07:28 PM

函數是一組執行特定任務(具有特定功能)的,可以重複使用的程式碼區塊。除了使用內建函數外,我們還可以自行建立函數(自訂函數),然後在需要的地方呼叫這個函數,這不僅可以避免編寫重複的程式碼,還有利於程式碼的後期維護。

Linux中split指令詳解 Linux中split指令詳解 Feb 21, 2024 pm 06:06 PM

Linux中split指令詳解split是Linux中常用的指令,它用來將一個檔案分割成多個較小的檔案。在本篇文章中,我們將詳細介紹split指令的用法,並提供一些具體的程式碼範例。一、指令語法split指令的基本語法如下所示:split[選項][輸入檔][輸出文件前綴]選項:-:依照指定的行數分割文件,預設為1000行。 -

Linux大檔案分割區:資深用戶教你split指令輕鬆搞定 Linux大檔案分割區:資深用戶教你split指令輕鬆搞定 Feb 26, 2024 am 08:10 AM

很榮幸與各位相識,本人乃遊走於Linux領域十餘載之專業人士,精通各類技巧及工具。今晚linux就該這麼學,想跟大家分享如何有效在Linux環境下對大檔案進行分區的心得體會。 1.面對巨型文件linux大文件分割,無所畏懼身為資深Linux用戶,我擅長處理各類文件,無論其體積如何。有時候linux大檔案分割,傳輸或備份超大檔案或許會有些困擾,然而這對Linux系統來說並不會造成太大挑戰。 2.利用split指令輕鬆分割檔案在Linux系統下,split指令十分實用。簡單敲一下達指令能夠輕鬆地把

See all articles