V tem članku bomo razpravljali o več načinih razdelitve ločene vrednosti niza. To je mogoče doseči z uporabo več metod, vključno z.
- Uporaba funkcije STRING_SPLIT za razdelitev niza
- Ustvarite uporabniško določeno funkcijo z vrednostjo tabele za razdelitev niza,
- Uporabite XQuery za razdelitev vrednosti niza in pretvoritev ločenega niza v XML
Najprej moramo ustvariti tabelo in vanjo vstaviti podatke, ki bodo uporabljeni v vseh treh metodah. Tabela mora vsebovati eno vrstico z ID-jem polja in nizom z ločevalnimi znaki. Ustvarite tabelo z imenom 'študent' z uporabo naslednje kode.
USTVARI TABELO študenta (ID INT IDENTITY (1, 1), student_name VARCHAR (MAX))
V eno vrstico vstavite imena študentov, ločena z vejicami, tako da izvedete naslednjo kodo.
VSTAVITE V VREDNOTE študenta (ime_študenta) ('Monroy, Montanez, Marolahakis, Negley, Albright, Garofolo, Pereira, Johnson, Wagner, Conrad')
Ustvarjanje tabele in vstavljanje podatkov
Preverite, ali so bili podatki vstavljeni v tabelo ali ne, z uporabo naslednje kode.
izberite * med študentom
Preverite, ali so bili podatki vstavljeni v tabelo 'študent'
1. način: Za razdelitev niza uporabite funkcijo STRING_SPLIT
V SQL Server 2016, »STRING_SPLIT« uvedena je bila funkcija, ki se lahko uporablja s stopnjo združljivosti 130 in več. Če uporabljate različico SQL Server 2016 ali novejšo, lahko uporabite to vgrajeno funkcijo.
Poleg tega »STRING_SPLIT« vnese niz, ki ima razmejene podnize, in vnese en znak, ki ga bo uporabil kot ločilo ali ločilo. Funkcija prikaže tabelo z enim stolpcem, katere vrstice vsebujejo podnize. Ime izhodnega stolpca je » Vrednost ' . Ta funkcija dobi dva parametra. Prvi parameter je niz, drugi pa ločilni znak ali ločilo, na podlagi katerega moramo niz razdeliti. Izhod vsebuje tabelo z enim stolpcem, v kateri so podnizi. Ta izhodni stolpec je imenovan 'Vrednost' kot lahko vidimo na spodnji sliki. Poleg tega »STRING SPLIT« funkcija table_valued vrne prazno tabelo, če je vhodni niz NULL.
Raven združljivosti baze podatkov:
Vsakzbirka podatkovjepovezansdokompatibilnostravni.Toomogočazbirke podatkovvedenjedobitizdružljivs thjeposebnoSQLStrežnikrazličicototečena.
Zdaj bomo poklicali funkcijo 'string_split', da razdelimo niz, ločen z vejicami. Toda stopnja združljivosti je bila manjša od 130, zato je prišlo do napake. 'Neveljavno ime predmeta' SPLIT_STRING ''
Napaka se pojavi, če je raven združljivosti baze podatkov nižja od 130 'Neveljavno ime predmeta split_string'
Tako moramo stopnjo združljivosti baze podatkov nastaviti na 130 ali več. Zato bomo sledili tem korakom za nastavitev stopnje združljivosti baze podatkov.
- Najprej nastavite bazo podatkov na »single_user_access_mode« z uporabo naslednje kode.
ALTER DATABASE SET SINGLE_USER
- Drugič, spremenite stopnjo združljivosti baze podatkov z uporabo naslednje kode.
ALTER DATABASE SET COMPATIBILITY_LEVEL = 130
- Z naslednjo kodo vrnite bazo podatkov v način za več uporabnikov.
ALTER DATABASE SET MULTI_USER
USE [master] GO ALTER DATABASE [bridge_centrality] SET SINGLE_USER ALTER DATABASE [bridge_centrality] SET COMPATIBILITY_LEVEL = 130 ALTER DATABASE [bridge_centrality] SET MULTI_USER GO
Rezultat bo:
Spremenite stopnjo združljivosti na 130
Zdaj zaženite to kodo, da dobite zahtevani rezultat.
IZJAVITI @string_value VARCHAR (MAX); SET @ string_value = 'Monroy, Montanez, Marolahakis, Negley, Albright, Garofolo, Pereira, Johnson, Wagner, Conrad' SELECT * FROM STRING_SPLIT (@string_value,