Nach genau 3 Punkten suchen

xlumia

Benutzer
Beiträge
7
Ich möchte mit meinem SQL Statement alle Datensätze mit genau 3 Punkte suchen.

select ID, NAME, TEL
from PERSONS where TEL like '%.%.%.%';

Damit funktionierts leider nicht. Kann mit jemand weiter helfen?
 
Werbung:
So klappt das Statement auch, aber es ist nicht die Lösung die ich haben will.
Ich möchte nur die Datensätze anzeigen, die genau 3 Punkte in der Spalte TEL haben. So bekomme ich auch die Datensätze, die mehr als 3 Punkte haben.
 
Wie genau soll das sein, also exakt ein String bestehend aus 3 Punkten, ein String, der irgendwo 3 Punkte enthält, der 3 Punkte nacheinander enthält?

Code:
test=*# create table telefon as select s, 'eintrag mit ' || repeat('.',s) || ' Punkten' as data from generate_series(1, 10) s;
SELECT 10
test=*# select * from telefon where data ~ ' \.\.\. ';
 s |  data   
---+-------------------------
 3 | eintrag mit ... Punkten
(1 Zeile)

test=*#
 
TEL
098.7927.92728.02828.02828
098.028.08728.078
02828.8288.1627.71718

Nur die anzeigen, die auch 3 Punkte im Datensatz haben.
Hoffe das ist jetzt verständlich?
 
Code:
test=*# select * from telefon;
 s |  data   
---+----------------------------
 1 | 098.7927.92728.02828.02828
 2 | 098.028.08728.078
 3 | 02828.8288.1627.71718
(3 Zeilen)

test=*# select * from telefon where length(data) - length(replace(data,'.','')) = 3;
 s |  data   
---+-----------------------
 2 | 098.028.08728.078
 3 | 02828.8288.1627.71718
(2 Zeilen)

test=*#

PostgreSQL, könnte aber auch in MySQL gehen.
 
Werbung:
Zurück
Oben