У овом чланку ћемо размотрити неколико начина за поделу раздвојене вредности низа. То се може постићи коришћењем више метода, укључујући.
- Употреба функције СТРИНГ_СПЛИТ за поделу низа
- Направите кориснички дефинисану табеларну функцију за поделу низа,
- Користите КСКуери да бисте поделили вредност низа и трансформисали раздвојени низ у КСМЛ
Пре свега, треба да направимо табелу и у њу убацимо податке који ће се користити у све три методе. Табела треба да садржи један ред са ИД-ом поља и низом с разграничним знаковима. Направите табелу под називом „студент“ користећи следећи код.
СТВАРИ ТАБЕЛУ студент (ИД ИНТ ИДЕНТИТИ (1, 1), студент_наме ВАРЦХАР (МАКС))
Уметните имена ученика одвојена зарезима у један ред извршавањем следећег кода.
ИНСЕРТ ИНТО студент (студент_наме) ВРИЈЕДНОСТИ ('Монрои, Монтанез, Маролахакис, Неглеи, Албригхт, Гарофоло, Переира, Јохнсон, Вагнер, Цонрад')
Стварање табеле и уметање података
Проверите да ли су подаци убачени у табелу или не, користећи следећи код.
изаберите * од ученика
Проверите да ли су подаци уметнути у табелу „студент“
1. метод: Користите функцију СТРИНГ_СПЛИТ за раздвајање низа
У СКЛ Сервер 2016, „СТРИНГ_СПЛИТ“ уведена је функција која се може користити са нивоом компатибилности 130 и вишим. Ако користите верзију СКЛ Сервер 2016 или новију, можете да користите ову уграђену функцију.
у наставку „СТРИНГ_СПЛИТ“ уноси низ који има раздвојене поднизове и уноси један знак који ће се користити као граничник или сепаратор. Функција даје таблицу са једним ступцем чији редови садрже поднизове. Назив излазне колоне је „ Вредност ” . Ова функција добија два параметра. Први параметар је низ, а други је граничник или сепаратор на основу којег морамо раздвојити низ. Излаз садржи табелу са једним ступцем у којој су присутни поднизови. Именован је овај излазни ступац „Вредност“ као што видимо на доњој слици. Штавише, „СТРИНГ СПЛИТ“ функција табле_валуед враћа празну табелу ако је улазни низ НУЛЛ.
Ниво компатибилности базе података:
Свакабаза податакајеповезансадокомпатибилностниво.Тоомогућујетхебазе податакапонашањедобитикомпатибиланса тхјепосебноСКЛСерверверзијатотрчина.
Сада ћемо позвати функцију „стринг_сплит“ за раздвајање низа одвојених зарезима. Али ниво компатибилности био је мањи од 130, па је подигнута следећа грешка. „Неважеће име објекта„ СПЛИТ_СТРИНГ ““
До грешке долази ако је ниво компатибилности базе података нижи од 130 „Неважеће име објекта сплит_стринг“
Стога морамо поставити ниво компатибилности базе података на 130 или више. Стога ћемо следити овај корак да бисмо поставили ниво компатибилности базе података.
- Пре свега подесите базу података на „сингле_усер_аццесс_моде“ помоћу следећег кода.
АЛТЕР БАЗЕ ПОДАТАКА ПОДЕШИ СИНГЛЕ_УСЕР
- Друго, промените ниво компатибилности базе података помоћу следећег кода.
АЛТЕР ДАТАБАСЕ СЕТ ЦОМПАТИБИЛИТИ_ЛЕВЕЛ = 130
- Вратите базу података у режим вишекорисничког приступа помоћу следећег кода.
АЛТЕР ДАТАБАСЕ СЕТ МУЛТИ_УСЕР
УСЕ [мастер] ГО АЛТЕР ДАТАБАСЕ [бридге_централити] СЕТ СИНГЛЕ_УСЕР АЛТЕР ДАТАБАСЕ [бридге_централити] СЕТ ЦОМПАТИБИЛИТИ_ЛЕВЕЛ = 130 АЛТЕР ДАТАБАСЕ [бридге_централити] СЕТ МУЛТИ_УСЕР ГО
Излаз ће бити:
Промените ниво компатибилности на 130
Сада покрените овај код да бисте добили потребан резултат.
ПРОГЛАШИ @стринг_валуе ВАРЦХАР (МАКС); СЕТ @ стринг_валуе = 'Монрои, Монтанез, Маролахакис, Неглеи, Албригхт, Гарофоло, Переира, Јохнсон, Вагнер, Цонрад' СЕЛЕЦТ * ФРОМ СТРИНГ_СПЛИТ (@стринг_валуе,