


Wie konvertiert man effizient eine durch Kommas getrennte Zeichenfolge in eine SQL-IN-Liste?
Jan 09, 2025 pm 02:26 PMKonvertieren Sie eine durch Kommas getrennte Zeichenfolge in eine IN-Liste in der SQL-WHERE-Klausel
Frage:
Wenn Sie eine durch Kommas getrennte Zeichenfolge als Parameter in einer gespeicherten Prozedur speichern, besteht die Aufgabe darin, sie in der WHERE-Klausel in die richtige IN-Liste umzuwandeln.
Best-Practice-Lösungen:
Um diese Konvertierung effizient durchzuführen, erstellen Sie eine benutzerdefinierte SQL Server-Funktion:
CREATE function [dbo].[f_split] ( @param nvarchar(max), @delimiter char(1) ) returns @t table (val nvarchar(max), seq int) as begin set @param += @delimiter ;with a as ( select cast(1 as bigint) f, charindex(@delimiter, @param) t, 1 seq union all select t + 1, charindex(@delimiter, @param, t + 1), seq + 1 from a where charindex(@delimiter, @param, t + 1) > 0 ) insert @t select substring(@param, f, t - f), seq from a option (maxrecursion 0) return end
Verwendung:
Füllen Sie die WHERE-Klausel mit der folgenden Anweisung:
SELECT * FROM yourtable WHERE account in (SELECT val FROM dbo.f_split(@account, ','))
Leistungsvergleich:
Diese Funktion bietet eine höhere Leistung im Vergleich zu XML-basierten Segmentierungsmethoden. Verwenden Sie einen großen Testdatensatz:
- XML-Aufteilungszeit: 1 Minute und 21 Sekunden
- f_split-Funktion dauert 43 Sekunden
Leistungsunterschiede können variieren, was die Effizienz benutzerdefinierter Split-Funktionen unterstreicht.
Das obige ist der detaillierte Inhalt vonWie konvertiert man effizient eine durch Kommas getrennte Zeichenfolge in eine SQL-IN-Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)?

Wie konfiguriere ich die SSL/TLS -Verschlüsselung für MySQL -Verbindungen?
