Nur ganze Wörter finden?
Nur ganze Wörter finden?
am 14.04.2008 18:27:14 von Martin Schneider
Hallo, zusammen,
ich suche eine SQL-Abfrage, die folgendes kann: Man sucht das Wort "und"
in einem String. Es sollen gefunden werden:
"Stefan und Tanja gehen Spazieren"
"Und sie lebten glücklich bis an ihr Lebensende"
aber nicht:
"Tanjas Hund hatte Flöhe"
"Stefan musste zum Bund"
Danke für Eure Tipps :-)
Viele Grüße,
Martin
Re: Nur ganze Wörterfinden?
am 14.04.2008 18:32:28 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Nur ganze Wörter finden?
am 14.04.2008 20:56:41 von Claus Reibenstein
Martin Schneider schrieb:
> ich suche eine SQL-Abfrage, die folgendes kann: Man sucht das Wort "und"
> in einem String. Es sollen gefunden werden:
>
> "Stefan und Tanja gehen Spazieren"
> "Und sie lebten glücklich bis an ihr Lebensende"
>
> aber nicht:
>
> "Tanjas Hund hatte Flöhe"
> "Stefan musste zum Bund"
... WHERE spalte LIKE '% und %'
OR spalte LIKE '% und'
OR spalte LIKE 'und %'
OR spalte = 'und'
Mit regulären Ausdrücken und RLIKE geht es sicher noch eleganter, aber
damit habe ich mich noch nicht besonders intensiv befasst :-)
Gruß. Claus
Re: Nur ganze Wörter finden?
am 14.04.2008 21:55:24 von Martin Schneider
Andreas Kretschmer schrieb:
[begin-end-kindergarten gesnippt]
> Reguläre Ausdrücke. Die findest auch Du.
Macht Access leider nicht...
Trotzdem Danke.
Viele Grüße,
Martin
Re: Nur ganze Wörter finden?
am 14.04.2008 22:56:01 von Claus Reibenstein
Martin Schneider schrieb:
> Andreas Kretschmer schrieb:
>
> [begin-end-kindergarten gesnippt]
Jaja, unser Andreas ...
>> Reguläre Ausdrücke. Die findest auch Du.
>
> Macht Access leider nicht...
Von Access hattest Du nirgends etwas geschrieben. Außerdem ist dies hier
eine MySQL-Gruppe.
Gruß. Claus
Re: Nur ganze Wörter finden?
am 15.04.2008 09:02:36 von Harald Stowasser
Martin Schneider schrieb:
> Hallo, zusammen,
>
> ich suche eine SQL-Abfrage, die folgendes kann: Man sucht das Wort "und"
> in einem String. Es sollen gefunden werden:
>
> "Stefan und Tanja gehen Spazieren"
> "Und sie lebten glücklich bis an ihr Lebensende"
>
> aber nicht:
>
> "Tanjas Hund hatte Flöhe"
> "Stefan musste zum Bund"
select * from foo where CONCAT(' ',spalte,' ') like ' und '
Re: Nur ganze Wörterfinden?
am 15.04.2008 09:30:16 von Frank Arthur
> Martin Schneider schrieb:
>> ich suche eine SQL-Abfrage, die folgendes kann: Man sucht das Wort
>> "und" in einem String. Es sollen gefunden werden:
>>
>> "Stefan und Tanja gehen Spazieren"
>> "Und sie lebten glücklich bis an ihr Lebensende"
>>
>> aber nicht:
>>
>> "Tanjas Hund hatte Flöhe"
>> "Stefan musste zum Bund"
>
Harald Stowasser schrieb:
> select * from foo where CONCAT(' ',spalte,' ') like ' und '
Fast.
select * from foo where CONCAT(' ',spalte,' ') like '% und %'
Re: Nur ganze Wörter finden?
am 15.04.2008 10:32:10 von Martin Schneider
Claus Reibenstein schrieb:
> Von Access hattest Du nirgends etwas geschrieben. Außerdem ist dies hier
> eine MySQL-Gruppe.
Da hast Du Recht :-) Da es keine reine SQL-Sprachengruppe gibt, fühlte
ich mich hier am besten aufgehoben. Ich wußte bis dahin nicht, dass die
SQL-Implementationen unterschiedlichen Funktionsumfang haben.
Gruß,
Martin
Re: Nur ganze Wörter finden?
am 15.04.2008 10:33:04 von Martin Schneider
Frank Arthur schrieb:
> select * from foo where CONCAT(' ',spalte,' ') like '% und %'
Ah, das ist eine gute Idee!
Danke!
GruÃ,
Martin
Re: Nur ganze Wörterfinden?
am 15.04.2008 10:51:46 von Harald Wenninger
* Martin Schneider tat kund und zu wissen:
> Claus Reibenstein schrieb:
>> Von Access hattest Du nirgends etwas geschrieben. Außerdem ist dies hier
>> eine MySQL-Gruppe.
> Da hast Du Recht :-) Da es keine reine SQL-Sprachengruppe gibt, fühlte
> ich mich hier am besten aufgehoben.
Doch, gibt es direkt nebenan: de.comp.datenbanken.misc
Sprachengruppe zwar nicht, aber eine wirklich reine SQL-Gruppe ist ein
wenig arg theoretisch, weil es afaik kein einziges Datenbanksystem gibt,
das den aktuellen SQL-Standard komplett implementiert.
Gruß,
Harald
--
Klingon function calls do not have 'parameters' -
they have 'arguments' - and they ALWAYS WIN THEM.
Re: Nur ganze Wörter finden?
am 15.04.2008 14:14:41 von Steffen Mosthaf
Claus Reibenstein schrieb:
> Martin Schneider schrieb:
>
>> ich suche eine SQL-Abfrage, die folgendes kann: Man sucht das Wort "und"
>> in einem String. Es sollen gefunden werden:
>>
>> "Stefan und Tanja gehen Spazieren"
>> "Und sie lebten glücklich bis an ihr Lebensende"
>>
>> aber nicht:
>>
>> "Tanjas Hund hatte Flöhe"
>> "Stefan musste zum Bund"
>
> ... WHERE spalte LIKE '% und %'
> OR spalte LIKE '% und'
> OR spalte LIKE 'und %'
> OR spalte = 'und'
>
> Mit regulären Ausdrücken und RLIKE geht es sicher noch eleganter, aber
> damit habe ich mich noch nicht besonders intensiv befasst :-)
>
> Gruß. Claus
So ist es dann doch etwas kürzer:
....
WHERE spalte REGEXP '.* und .*'
Gruß
Steffen
Re: Nur ganze Wörter finden?
am 16.04.2008 13:42:46 von Stefan Dreyer
Steffen Mosthaf wrote:
>
>
> So ist es dann doch etwas kürzer:
>
> ...
> WHERE spalte REGEXP '.* und .*'
Aber findet und am Anfang oder am Ende nicht.