Filtern nach P gefolgt von Zahl

Themen rund um den praktischen Einsatz von Firebird. Fragen zu SQL, Performance, Datenbankstrukturen, etc.

Moderator: thorben.braun

Antworten
Benutzeravatar
martin.koeditz
Beiträge: 297
Registriert: Sa 31. Mär 2018, 14:35

Guten Morgen zusammen,

ich habe folgende Projektliste:
P12345
P23455
Pulsstraße
P98766

Meine ursprüngliche Abfrage sieht so aus:

Code: Alles auswählen

select * from projekte where projektname starting with 'P';
Nun möchte ich nur die Projekte sehen, die mit einem P beginnen, folgend durch eine Zahl. Pulsstraße soll also nicht auftauchen. Geht dies über reguläre Ausdrücke?

Gruß
Martin
Martin Köditz
it & synergy GmbH
bfuerchau
Beiträge: 281
Registriert: Mo 7. Mai 2018, 18:09

Mittels "similar" kann man regex-ähnliche Vergleiche anstellen:
https://firebirdsql.org/refdocs/langref ... ar-to.html

Also in etwa:
Feld similar to 'P[DIGIT]'
Benutzeravatar
martin.koeditz
Beiträge: 297
Registriert: Sa 31. Mär 2018, 14:35

Funktioniert.

Folgende Abfrage filtert mir nur die Projekte mit sechsstelliger Laufnummer:

Code: Alles auswählen

select * from projekte cc
where trim(cc.projektnummer) similar to 'P[[:DIGIT:]]{6}'
Danke dir.
Martin Köditz
it & synergy GmbH
Antworten