2017-11-29 2 views
2

Ich habe eine Datenbank mit Nummernbereichen, die mit Bindestrichen eingegeben wurden, zB 1-10, 50-100, 34-38. Wie würde ich die Lücken füllen, wo der Bindestrich ist und die ganzen Zahlen dazwischen erstellen?Wie füllt man die Lücke zwischen einer Reihe von Zahlen?

Ich brauche dies:

1,2,3,4,5,6,7,8,9,10

Daraus:

1-10

+3

Sie für 'generate_series suchen()' –

+0

welche DBMS verwenden Sie? –

Antwort

2

smth wie:

t=# with s(v) as (values('2-13')) 
select generate_series(split_part(v,'-',1)::int,split_part(v,'-',2)::int) r from s; 
r 
---- 
    2 
    3 
    4 
    5 
    6 
    7 
    8 
    9 
10 
11 
12 
13 
(12 rows) 
+0

Ich erhalte diesen Fehler mit dieser Lösung: FEHLER: ungültige Eingabesyntax für Ganzzahl: "" ********** Fehler ********** FEHLER: ungültige Eingabesyntax für Ganzzahl: "" SQL-Status: 22P02 – Daykray

+0

läuft meine Aussage? .. –

+0

Ja. Es ist wahrscheinlich ein Problem mit meinem Tisch. – Daykray

Verwandte Themen