Hallo,
ich bin auf der Suche nach einer Möglichkeit ein identisches SQL-Statement sowohl bei Oracle als auch bei SQL Server zu verwenden.
Problem:
Ein User hat auf einer Software-Oberfläche ein Eingabefeld zur Verfügung welches als Variable in einer dahinterliegenden WHERE-Bedingung verwendet wird.
Wenn er auf [Suche] klickt, wird im Hintergrund ein SQL-Statement abgearbeitet und dem User das Ergebnis präsentiert.
Damit er Teil-Strings suchen kann, habe ich in der WHERE-Bedingung die Variable mit % und || am Anfang und Ende verkettet.
Das ?-Zeichen in der WHERE-Bedingung ist die Variable, die mit dem Text aus dem Eingabefeld des Users gefüllt wird.
In Oracle funzt das auch tadellos.
Beispiel:
Aber SQL Server kann die Verkettung || nicht auswerten. Dort müsste es ein +-Zeichen sein.
Auch "concat" funzt bei SQL Server nicht.
Kann man die WHERE-Bedingung irgendwie umbauen, damit man ohne die Verkettungszeichen nach Teil-Strings suchen kann?
Danke.
Gruß
meute
ich bin auf der Suche nach einer Möglichkeit ein identisches SQL-Statement sowohl bei Oracle als auch bei SQL Server zu verwenden.
Problem:
Ein User hat auf einer Software-Oberfläche ein Eingabefeld zur Verfügung welches als Variable in einer dahinterliegenden WHERE-Bedingung verwendet wird.
Wenn er auf [Suche] klickt, wird im Hintergrund ein SQL-Statement abgearbeitet und dem User das Ergebnis präsentiert.
Damit er Teil-Strings suchen kann, habe ich in der WHERE-Bedingung die Variable mit % und || am Anfang und Ende verkettet.
Das ?-Zeichen in der WHERE-Bedingung ist die Variable, die mit dem Text aus dem Eingabefeld des Users gefüllt wird.
In Oracle funzt das auch tadellos.
Beispiel:
Code:
select A.ID from TABELLE A where (upper(A.ID) like upper('%'||?||'%')) order by A.ID asc ;
Aber SQL Server kann die Verkettung || nicht auswerten. Dort müsste es ein +-Zeichen sein.
Auch "concat" funzt bei SQL Server nicht.
Kann man die WHERE-Bedingung irgendwie umbauen, damit man ohne die Verkettungszeichen nach Teil-Strings suchen kann?
Danke.
Gruß
meute
Comment