Kodulehed
[387] - Andmebaasid II (ITI0207) (sügis 2024)
Esiletöstetud Kiirvalik
Lisainfo Kõige olulisemate tegevuste kiirvalik. Failide saatmiseks valige Vastamine alt sobiv ülesanne.
Üldist
Materjalid
LisainfoMaterjalide kataloogid.
Värvilised mummud tähistavad hinnangulist kataloogide lugemise vajadust. Roheline - suurim, kollane - keskmine, punane või mummuta - väikseim
Isiklik
Lisainfo Info ainult Sulle - teised kasutajad seda ei näe
Abi
Lisainfo Võimalus küsida õppejõult abi (nagu foorum, kus saab küsida küsimusi ja kommenteerida vastuseid)
Mitmesugust
Abi / Kasutajatugi / Andmebaasisüsteemid (Üldine)

Avalikud küsimused ja vastused:

Küsimuste teemade nimekiri

Anonüümne (24.11.2024 14:31):
Kuidas eemaldada SQL lauses stingi e sõne ümbert sulud, kui string peaks olema sulgudes?
Vastus (24.11.2024 14:50): Andmebaasisüsteemid PostgreSQL ja Oracle pakuvad funktsiooni regexp_replace, mis võimaldab asendada stringis alamstringi, kasutades sealjuures regulaaravaldisi. Lause katsetamiseks saab kasutada SQL Fiddle keskkonda.

PostgreSQL (17) ja Oracle 23ai.

WITH sonad (sona) AS (VALUES ('(poolikud sulud'), ('sulgudeta'), ('veel( poolikuid sulge'), ('poolikud sulud)'),('(sulud)'),('()'))
SELECT sona AS algne, regexp_replace(sona,'^\((.*)\)$','\1') AS  teisendatud
FROM sonad;

Funktsioonil regexp_replace on kolm argumenti.
  • Väärtus, kus teha asendus.
  • Regulaaravaldis, mille alusel otsida asendatavat alamstringi.
    • '^\((.*)\)$' - stringi alguses ja lõpus peavad olema sulud. Selleks, et otsida regulaaravaldises sulge, tuleb nende ette panna paomärk \, sest sulgudel on regulaaravaldise mustris eritähendusega märgid. Sulgude vahel on null või rohkem suvalist märki (.*).
  • Alamstringi asendav väärtus.
    • Kogu string asendatakse eelnevas mustris esimestes sulgudes olnud väärtusega (.*) e väärtusega, mis on sulgude sees.

Hinda vastust:

Keskmine hinne : Pole veel hinnanguid!