/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problemer med LIKE operator
Fra : MacMan


Dato : 06-06-01 16:33

Hej,

Jeg vil gerne have at min søgefunktion kun returnerer hele ord. Dvs. at en
søgning på HUND kun skal returnere records der indeholder ordet HUND i titel
eller beskrivelse. Jeg ønsker ikke "HUNDE" eller "HUNDREDE".

Derfor har jeg lavet min SQL således:

SELECT xxx FROM Produkter WHERE (Titel LIKE '%[.,:; ?!]hunde[.,:; ?!]%' OR
Beskrivelse LIKE '%[.,:; ?!]hunde[.,:; ?!]%') ORDER BY Titel -->

- så jeg kun får returneret de steder den finder "HUND", "HUND,", "HUND."
etc.

MEN har jeg en titel der kun indeholder ordet HUND, eller starter eller
slutter med ordet "HUND" bliver dette ikke fundet, da der ikke er noget tegn
før eller efter.

Hvad kan jeg gøre?

- Morten



 
 
Lauritz Jensen (06-06-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 06-06-01 20:36

MacMan wrote:
>
> Jeg vil gerne have at min søgefunktion kun returnerer hele ord.
>
> Derfor har jeg lavet min SQL således:
> SELECT xxx FROM Produkter WHERE (Titel LIKE
> '%[.,:; ?!]hunde[.,:; ?!]%' OR Beskrivelse LIKE
> '%[.,:; ?!]hunde[.,:; ?!]%') ORDER BY Titel
>
> MEN har jeg en titel der kun indeholder ordet HUND, eller starter
> eller slutter med ordet "HUND" bliver dette ikke fundet,

En løsning er:
WHERE Titel LIKE '%[.,:; ?!]hunde[.,:; ?!]%'
OR Titel LIKE 'hunde[.,:; ?!]%'
OR Titel LIKE '%[.,:; ?!]hunde'
OR Beskrivelse LIKE '%[.,:; ?!]hunde[.,:; ?!]%'
OR Beskrivelse LIKE '%[.,:; ?!]hunde'
OR Beskrivelse LIKE 'hunde[.,:; ?!]%'

En anden er:
WHERE ','+Titel+',' LIKE '%[.,:; ?!]hunde[.,:; ?!]%'
OR ','+Beskrivelse+',' LIKE '%[.,:; ?!]hunde[.,:; ?!]%'

--
Lauritz

MacMan (06-06-2001)
Kommentar
Fra : MacMan


Dato : 06-06-01 22:13

> > Jeg vil gerne have at min søgefunktion kun returnerer hele ord.
> >
> > Derfor har jeg lavet min SQL således:
> > SELECT xxx FROM Produkter WHERE (Titel LIKE
> > '%[.,:; ?!]hunde[.,:; ?!]%' OR Beskrivelse LIKE
> > '%[.,:; ?!]hunde[.,:; ?!]%') ORDER BY Titel
> >
> > MEN har jeg en titel der kun indeholder ordet HUND, eller starter
> > eller slutter med ordet "HUND" bliver dette ikke fundet,
>

> En anden er:
> WHERE ','+Titel+',' LIKE '%[.,:; ?!]hunde[.,:; ?!]%'
> OR ','+Beskrivelse+',' LIKE '%[.,:; ?!]hunde[.,:; ?!]%'

Den synes jeg er meget, meget elegant, jeg kan bare ikke rigtig få den til
at virke:

--
WHERE (((','+Titel+',' LIKE '%[.,:; ?!]hund[.,:; ?!]%' OR
','+Beskrivelse+',' LIKE '%[.,:; ?!]hund[.,:; ?!]%')))
--

returnerer

[SQL Server]Invalid operator for data type. Operator equals add, type equals
text.

Hvor dummer jeg mig?

- Morten



Lauritz Jensen (07-06-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 07-06-01 11:01

MacMan wrote:
>
> WHERE (((','+Titel+',' LIKE '%[.,:; ?!]hund[.,:; ?!]%' OR
> ','+Beskrivelse+',' LIKE '%[.,:; ?!]hund[.,:; ?!]%')))
>
> returnerer
> [SQL Server]Invalid operator for data type. Operator equals add,
> type equals text.

Det er fordi en af kolonnerne (jeg gætter på "Beskrivelse") er af typen
"text", og denne type kan åbenbart ikke bruges sammen med "+".

--
Lauritz

Lauritz Jensen (07-06-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 07-06-01 11:23

MacMan wrote:
>
> > > Jeg vil gerne have at min søgefunktion kun returnerer hele ord.
>
> [SQL Server]Invalid operator for data type. Operator equals add,
> type equals text.

Det slog mig lige: Hvis du bruger sql server, hvorfor slår du så ikke
bare fritekst søgningen til? (kræver godt nok sql7 eller sql2000, men
der vel igen, der bruger 6.5 mere)

--
Lauritz

Peter Lykkegaard (07-06-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 07-06-01 16:40


"Lauritz Jensen" <lauritz2@hotmail.com> wrote in message
news:3B1F5601.3223EDFE@hotmail.com...
> MacMan wrote:
> >
> > > > Jeg vil gerne have at min søgefunktion kun returnerer hele ord.
> >
> > [SQL Server]Invalid operator for data type. Operator equals add,
> > type equals text.
>
> Det slog mig lige: Hvis du bruger sql server, hvorfor slår du så ikke
> bare fritekst søgningen til? (kræver godt nok sql7 eller sql2000, men
> der vel igen, der bruger 6.5 mere)
>
Jow, jeg har et par kunder, der kører med 6.5 - ret træls når man nu _har_
vænnet sig til 7.0

mvh/Peter Lykkegaard



MacMan (08-06-2001)
Kommentar
Fra : MacMan


Dato : 08-06-01 00:28

> Det slog mig lige: Hvis du bruger sql server, hvorfor slår du så ikke
> bare fritekst søgningen til? (kræver godt nok sql7 eller sql2000, men
> der vel igen, der bruger 6.5 mere)

Det er SQL Server 7 SP 3 ja - hvor slår man det til henne?

- Morten



Lauritz Jensen (08-06-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 08-06-01 16:18

MacMan wrote:
>
> > Det slog mig lige: Hvis du bruger sql server, hvorfor slår du så
> > ikke bare fritekst søgningen til? (kræver godt nok sql7 eller
> > sql2000, men der vel igen, der bruger 6.5 mere)
>
> Det er SQL Server 7 SP 3 ja - hvor slår man det til henne?

(Vidste ikke at der var kommet en sp3. Nå, godt man ikke adminer mere)

Kig under "Full-text" i Bol. Basalt set vælger du "egenskaber" for
tabellen, vælger (noget i retning af) "add full-text index" og klikker
dig igennem wizarden.

--
Lauritz

MacMan (08-06-2001)
Kommentar
Fra : MacMan


Dato : 08-06-01 16:49

> > Det er SQL Server 7 SP 3 ja - hvor slår man det til henne?
>
> (Vidste ikke at der var kommet en sp3. Nå, godt man ikke adminer mere)
>
> Kig under "Full-text" i Bol. Basalt set vælger du "egenskaber" for
> tabellen, vælger (noget i retning af) "add full-text index" og klikker
> dig igennem wizarden.

Jeg har fundet det, men uanset hvad jeg gør, er det ikke muligt at vælge
funktionen (den er grå). Iflg. BOL skal komponenten "Microsoft Search" være
installeret... men hvad pokker er det for en? Alt er slået til i forbindelse
med installation af Option Pack'en (NT4).

- Morten



MacMan (08-06-2001)
Kommentar
Fra : MacMan


Dato : 08-06-01 16:55

Oh bugger... har fundet det, det var en del af SQL Server installationen.

--

- Morten
"MacMan" <nospam@nospam.com> skrev i en meddelelse
news:3v6U6.121$rs4.24873@news010.worldonline.dk...
> > > Det er SQL Server 7 SP 3 ja - hvor slår man det til henne?
> >
> > (Vidste ikke at der var kommet en sp3. Nå, godt man ikke adminer mere)
> >
> > Kig under "Full-text" i Bol. Basalt set vælger du "egenskaber" for
> > tabellen, vælger (noget i retning af) "add full-text index" og klikker
> > dig igennem wizarden.
>
> Jeg har fundet det, men uanset hvad jeg gør, er det ikke muligt at vælge
> funktionen (den er grå). Iflg. BOL skal komponenten "Microsoft Search"
være
> installeret... men hvad pokker er det for en? Alt er slået til i
forbindelse
> med installation af Option Pack'en (NT4).
>
> - Morten
>
>



Jakob Andersen (08-06-2001)
Kommentar
Fra : Jakob Andersen


Dato : 08-06-01 16:54

"MacMan" <nospam@nospam.com> wrote in message
news:3v6U6.121$rs4.24873@news010.worldonline.dk...
> installeret... men hvad pokker er det for en? Alt er slået til i
forbindelse
> med installation af Option Pack'en (NT4).

Det er på SQLserveren den ikke er slået til.

--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "



Søg
Reklame
Statistik
Spørgsmål : 177556
Tips : 31968
Nyheder : 719565
Indlæg : 6408865
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste