webForumDet fria alternativet

SELECT ett ord och inte delar av ord?

Databaser & SQL

6 svar · 217 visningar · startad av CokeLight

Medlem sedan juni 2000504 inlägg
Frågan#1

Hejsan,

Jobbar med Access databas. Om jag söker efter ordet "den", t.ex.

SELECT c1, c2, c3 FROM t1 WHERE c1 LIKE 'den'

så måste ju titeln heta exakt "den" och endast "den".

Om jag skriver

SELECT c1, c2, c3 FROM t1 WHERE c1 LIKE '*den*'

så kommer även ord med såsom "vinden" eller "storliden" med t.ex.

Hur skriver man då för att det enskilda ordet "den" ska få förekomma, t.ex.

"Igår så köpte vi den lilla soffan"

men inte

"Igår blåste vinden lätt"

Medlem sedan dec. 20003 887 inlägg
#2

I Access kan du använda dig av InStr()

SELECT c1, c2, c3
FROM t1
WHERE InStr( c1, ' den ' ) > -1

Du lär behöva kontrollera syntaxen för InStr() förvisso.

Medlem sedan dec. 200012 464 inlägg
#3
WHERE c1 LIKE '* den *'
or c1 like 'den *'
or c1 like '* den.' 
or c1 like '* den,'

usw

Medlem sedan jan. 20021 122 inlägg
#4

Har access stöd för RLIKE? Om det har det så kan man ju korta ner LarsGs kod lite

WHERE c1 RLIKE '\*\Wden\W\*'
Medlem sedan dec. 200012 464 inlägg
#5

Har access stöd för RLIKE?

Nej.

Medlem sedan juni 2000504 inlägg
#6

Tack så mycket för svaren allihop.. :) aha.. hehe.. var det bara o lägga in mellanslag.. oki.. fint.. just det.. bra att ta med . , osv..

smidigt om rlike hade funkat.. : ) InStr verkar vara mest tillämpbar om man kör VBA inom Access (alternativt ASP kanske).. alltså att det inte var Access-SQL? Fast nåt sånt kan ju va att fundera på också om man bygger en funktion i själva koden.. hmm..

Medlem sedan jan. 20021 122 inlägg
#7

LarsG skrev:

Har access stöd för RLIKE?

Nej.

Surt.

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)