Avatar billede schwaner Nybegynder
14. marts 2002 - 11:01 Der er 5 kommentarer og
1 løsning

wildcards eller '%' i SQL2000

Hej med jer.

Jeg er igang med at lave en lille søge funktion der skal lave en fri tekst søgning i et felt på databasen. Jeg har tidligere benyttet Oracle hvor man kan skrive:
%hej%
også får man alle steder hvor hej optræder lige meget hvad der står foran eller bagved (mener jeg ihvertfald).

Nu vil jeg så prøve at lave det samme på SQL2000 men jeg får desvære ingen resultater på min søgning. Min SQL ser ud som følgende og den virker fint så længe jeg ikke benytter %%:

select DISTINCT plante_sporgsmal.id, overskrift, CONVERT(datetime, opd_dato, 5) dato, plante_sporgsmal.brugernavn from plante_sporgsmal, plante_svar where plante_sporgsmal.tekst = '%test%' OR plante_sporgsmal.id = (select distinct sporgsmal from plante_svar where tekst = '%test%') order by dato desc


Jeg har også forsøgt med denne sql men igen uden held:

select DISTINCT plante_sporgsmal.id, overskrift, CONVERT(datetime, opd_dato, 5) dato, plante_sporgsmal.brugernavn from plante_sporgsmal, plante_svar where plante_sporgsmal.tekst = %'test'% OR plante_sporgsmal.id = (select distinct sporgsmal from plante_svar where tekst = %'test'%) order by dato desc
Avatar billede proaccess Nybegynder
14. marts 2002 - 11:03 #1
Kunne det tænkes, at du skulle bruge * i stedet for % (som i Access)?
Avatar billede proaccess Nybegynder
14. marts 2002 - 11:04 #2
eller er det måske snarrere et spøgsmål om = kontra Like

select DISTINCT plante_sporgsmal.id, overskrift, CONVERT(datetime, opd_dato, 5) dato, plante_sporgsmal.brugernavn from plante_sporgsmal, plante_svar where plante_sporgsmal.tekst Like '%test%' OR plante_sporgsmal.id = (select distinct sporgsmal from plante_svar where tekst Like '%test%') order by dato desc
Avatar billede bennytordrup Nybegynder
14. marts 2002 - 11:10 #3
Du skal bruge Like
Avatar billede schwaner Nybegynder
14. marts 2002 - 11:25 #4
Jeg har forsøgt en masse kombination af * % og Like, men jeg får stadigvæk kun et resultat når jeg søge på alt hvad der står i DB feltet ikke hvis det kun er en del af indholdet.

select DISTINCT plante_sporgsmal.id, overskrift, CONVERT(datetime, opd_dato, 5) dato, plante_sporgsmal.brugernavn from plante_sporgsmal, plante_svar where plante_sporgsmal.tekst like 'Dette er en test ' OR plante_sporgsmal.id = (select distinct sporgsmal from plante_svar where tekst like 'Dette er en test ') order by dato desc
Avatar billede proaccess Nybegynder
14. marts 2002 - 11:27 #5
Like '%Dette er en test%'
Avatar billede schwaner Nybegynder
14. marts 2002 - 11:29 #6
Okay der var vist bid, nu får jeg ihvertfald en ny fejl.

Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester