/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Udtrækning af ord fra sætning
Fra : kdf_dk
Vist : 477 gange
100 point
Dato : 26-11-12 16:08

I en MS SQL server database har jeg en tabel med kolonnen BEMAERK (varchar), som indeholder alle mulige oplysninger.

Jeg er interesseret i at fiske alle ord ud som indeholder bogstavkombinationen ”rød”.

Hvis BEMAERK kolonnen indeholder tekststrengen: "Har et rødligt skær"

...skal resultatet være: "rødligt"

Forespørgslen skal altså kunne finde ordet indeholdende "rød" ('%rød%') og udtrække hele ordet som det er en del af. "Rød" kan være lokaliseret hvor som helst i tekststrengen.

Håber der er nogen der har en ide til hvordan sådan en forespørgsel kunne se ud?

 
 
Kommentar
Fra : pmbruun


Dato : 26-11-12 16:32

Du skal bare bruge LIKE operatoren. Hvis din kolonne hedder Text, vil det se nogenlunde sådan ud:

SELECT ... FROM BEMAERK WHERE Text LIKE '%rød%';

Der er også specielle konstruktioner til fritekst søgning over flere kolonner. Dette kræver at der oprettes et stærligt indeks. Læs mere her: http://msdn.microsoft.com/en-us/library/ms142571.aspx


Kommentar
Fra : alan57


Dato : 26-11-12 16:34

Hej kdf_dk, uden at være dygtigt til denne slags tror jeg nok at du skal finde en der kan lave et program.
Det jeg mener er at der skal skrives et helt nyt program eller også skal du finde et program og lave det om så det gør det du vil have det at gøre.
alan57

Kommentar
Fra : pmbruun


Dato : 26-11-12 16:42

Ok - LIKE returnerer hele værdien hvis den indeholder rød - den fisker ikke ordet ud.

Andre databaser understøtter regexp substitution, men det synes ikke at være tilfældet med SQL Server.

Man kan komme et stykke vej med PATINDEX - se denne artikel: http://stackoverflow.com/questions/150977/perform-regex-replace-in-an-sql-query

Men det er ikke simpelt...

Kommentar
Fra : stone47


Dato : 26-11-12 19:37

læser lige med.
men det er jeg ikke god nok til at være med i. Men mener min tæller er blevet flyttet til en anden server. http://stoneplace.dk/Counter så lidt MYSQL har jeg da til at virke.
hilsen Steen

Kommentar
Fra : NegoZatoR


Dato : 21-02-13 23:00

Kan du ikke behandle strengen efter du har trukket den ud af databasen? - Hvilket sprog benytter du efter du har hentet data'en ud? :)

Java? PHP? Andet ?

Kommentar
Fra : stone47


Dato : 22-02-13 09:49

jeg ville da prøve at stable noget php sammen.
hilsen Steen

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407822
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste