SQL里面用自定义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)
结果,截个图来看一下:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









String の Split メソッドは、String の Split() メソッドを使用して、受信する文字または文字列に従って String を分割し、分割された配列を返します。 1. 一般的な使用法 @ や区切り文字などの一般的な文字を使用する場合: Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out。 println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]

Go 言語の bytes パッケージはバイト型を操作するためのパッケージであり、Split() メソッドなどの便利なメソッドが多数含まれています。ただし、Split() メソッドを使用すると、「未定義: bytes.Split」エラーが発生する可能性があります。このエラーは通常、Go バージョンに互換性がないこと、または必要な依存ライブラリが不足していることが原因で発生します。この記事では、このエラーを解決するいくつかの方法を紹介します。方法 1: 次のように Go バージョンをアップグレードします。

Python を使用して MySQL でカスタム関数を作成する方法 MySQL は、大量のデータの保存と管理によく使用されるオープンソースのリレーショナル データベース管理システムです。強力なプログラミング言語として、Python は MySQL とシームレスに統合できます。 MySQL では、特定の計算やデータ処理操作を完了するためにカスタム関数を使用する必要があることがよくあります。この記事では、Python を使用してカスタム関数を作成し、それを MySQL に統合する方法を紹介します。カスタム関数を作成するには、

Python では、split() は、文字列を部分文字列に分割し、これらの部分文字列を含むリストを返す、一般的に使用される文字列メソッドです。このメソッドは、指定された区切り文字に基づいて文字列を複数の部分に分割できます。基本的な構文は「str.split(separator, maxsplit)」です。str は分割する文字列、separator は区切り文字、maxsplit はオプションのパラメータで、分割の最大数を示します。

Go 言語では、Split() メソッドを使用して文字列を分割します。区切り文字を使用して文字列を部分文字列のリストに分割すると、部分文字列はスライスの形式で返されます。 Split() は strings パッケージのメソッドで、使用する前に strings パッケージをインポートする必要があります。構文は「strings.Split (分割する文字列、区切り文字)」です。

関数は、特定のタスクを実行する (特定の機能を持つ) 再利用可能なコード ブロックのセットです。組み込み関数を使用するだけでなく、独自の関数 (カスタム関数) を作成し、必要に応じてその関数を呼び出すこともできるため、コードを繰り返し記述する必要がなくなるだけでなく、後のコードのメンテナンスも容易になります。

Linuxのsplitコマンドの詳しい説明 splitはLinuxでよく使われるコマンドで、ファイルを複数の小さなファイルに分割するために使用されます。この記事では、splitコマンドの使い方を詳しく紹介し、具体的なコード例をいくつか紹介します。 1. コマンド構文 Split コマンドの基本構文は次のとおりです。 Split [オプション] [入力ファイル] [出力ファイルのプレフィックス] オプション: -: 指定された行数に従ってファイルを分割します。デフォルトは 1000 行です。 -

お会いできて光栄です、私は Linux 分野に 10 年以上携わっており、さまざまなテクニックやツールに精通しているプロフェッショナルです。これが今夜 Linux を学ぶべき方法であり、Linux 環境で大きなファイルを効果的に分割する方法に関する私の経験を共有したいと思います。 1. 巨大なファイルに直面しても恐れることがない Linux の大規模ファイルの分割 上級 Linux ユーザーとして、私はサイズに関係なく、あらゆる種類のファイルを扱うのが得意です。 Linux で大きなファイルを分割、転送、またはバックアップするのは少し面倒な場合がありますが、これは Linux システムにとって大きな課題ではありません。 2. ファイルを簡単に分割するには、split コマンドを使用します Linux システムでは、split コマンドは非常に実用的です。タップするだけで簡単にコマンドを発行できます。
