PDA

View Full Version : Platzhalter in SQL



linguin
05-12-05, 10:30
Moin,

sitz grad etwas auf dem schlauch.

folgendes Problem:

habe ein Spalte mit folgenden werten:
1051203
1050827
1040805

nun möchte ich alle Datensätze die an pos 2+3 mit 05 stehen haben, was dahinter steht ist egal.

z.b. *05******

wenn ich ein select ... where spalte like '%05%' mache, bekomme ich auch die 1040805 will ich aber nicht.

Wie ist das lösbar ??

Gruß

malzusrex
05-12-05, 10:34
... where SubStr(spalte, 2, 2) = '05'

Gruß Ronald

cbe
06-12-05, 12:46
oder
where spalte like '_05%'

malzusrexs Lösung sieht mir aber performanter aus.

Gruß,
Christian

Fuerchau
06-12-05, 13:13
Die Performance ist in beiden Fällen fast identisch, da nicht der Feldscan sondern der Tablescan der Zeitfresser ist.
Für solche Fälle eignet sich eine LF (SQL-View ist da nicht so performant) mit einem berechneten Feld als Schlüssel.