![]() |
Datenbank: x • Version: x • Zugriff über: x
SQL LIKE *Sonderzeichen*
Hallo :)
Ich habe grade das Problem mit meinen Datenbankzugriff und hoffe ihr könnt helfen. In meiner SQL Datenbank habe ich unter anderen beide Spalten text_id | text _____________|___________________ T_4_GR_001 | beliebiger Text T_4_GR_002 | beliebiger Text T_4_GR_003 | beliebiger Text T_4_GR_004 | [123] T_4_GR_005 | [234] T_4_GR_006 | [345] T_4_GR_007 | [347] T_5_GR_001 | beliebiger Text T_5_GR_002 | [349] Ich möchte aber nur diese Spalten bekommen T_4_GR_001 | beliebiger Text T_4_GR_002 | beliebiger Text T_4_GR_003 | beliebiger Text Programmiert habe ich folgendes
Code:
Was funktioniert nun noch nicht?text := '[%'; text_id := 'T_4_GR%'; SQLQuery.SQL.Clear; SQLQuery.SQL.Add('SELECT *'); SQLQuery.SQL.Add('FROM datenbank); SQLQuery.SQL.Add('WHERE text_id LIKE :text_id AND text LIKE :text'); SQLQuery.Parameters.ParamByName('text_id').Value := text_id; SQLQuery.Parameters.ParamByName('text').Value := text; SQLQuery.open; Wenn ich nur beim Where die text_id abfrage, dann bekomme ich auch die entsprechenden Werte aus der Datenbank, aber sobald ich den Text mit [% Vergleich funktioniert es nun nicht mehr. Meine Vermutung ist, dass es an dem "[" liegt. Habt ihr Erfahrung damit? |
AW: SQL LIKE *Sonderzeichen*
Du könntest versuchen ein Escape-Zeichen vor das [ zu setzen. Also:
Delphi-Quellcode:
für MySQL (wobei in MySQL [ kein Sonderzeichen ist)
text := '\[%';
Delphi-Quellcode:
für MSSQL einklammern
text := '[[]%';
|
AW: SQL LIKE *Sonderzeichen*
Um was für ein Datenbankmanagementsystem handelt es sich denn?
SQL Server? MySQL? FireBird? PostgreSQL? ... |
AW: SQL LIKE *Sonderzeichen*
Versuch es doch mal mit
Code:
Gruß
not like :Text
K-H |
AW: SQL LIKE *Sonderzeichen*
Danke so funktioniert es jetzt :)
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz