DB2 locate in Feldtyp LONG VARCHAR
- Dieses Thema hat 1 Antwort und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 1 Monat von
Anonym.
-
AuthorPosts
-
30. August 2005 um 12:52 Uhr #2591
AnonymGastHallo Forum,
ich versuche mit der "Locate" Funktion in DB2 SQL und PHP einen String in einem Datenbankfeld zu finden.
Dies funktioniert folgendermassen:———————————————————————-
SELECT FROM DBNAME.TABELLENNAME WHERE locate(upper(‚$suchbegriff‘), upper(MA_KEYWORDS)) > 0;——————————————————————————–
Dies funktioniert auch einwandfrei. Sobald ich aber das Statement mit einer weiteren Suchoption erweitere, geht nichts mehr
——————————————————————–
SELECT FROM DBNAME.TABELLENNAME WHERE locate(upper(‚$suchbegriff‘), upper(MA_KEYWORDS)) > 0 OR locate(upper(‚$suchbegriff‘), upper(MA_BESCHREIBUNG)) > 0";——————————————————————–
Mittlerweile habe ich festgestellt dass es am Feldtyp LONG VARCHAR liegt.
Hier scheint es so nicht zu funktionieren. Leider bebötige ich aber diesen,
da er die einzige Alternative zum MySQL TEXT Feld ist.
Kann mir jemand sagen wie ich mein Vorhaben trotzdem realisieren kann, ohne den Feldtyp ändern zu müssen.Danke und Gruß
Tolwin* Es handelt sich um eine UDB Datenbank
30. August 2005 um 16:24 Uhr #3027
AnonymInaktivHi Tolwin,
ohne ad-hoc die Einschränkungen von LONG VARCHAR in Erinnerung zu haben:
(1) Wäre es möglich, dass das "… KEYWORDS)) > 0; " als Umlenkung des Outputs mißverstanden werden könnte? Gegenmittel evtl.: Statement in "…." einfassen.
(2) Mit der Funktion CAST kannst Du eine Attribut-Konvertierung durchführen. Mit CHAR gehts dann vielleicht.
Gruß
Gernot
-
AuthorPosts
You must be logged in to reply to this topic.