Mailinglisten-Archive |
Hallo,
>
> gibt es eine Möglichkeit einen Wert bei der mySQL-Ausgabe auf eine feste
> Länge zu bringen?
>
> Zur Zeit verwende ich z.B. sowas:
> substring(concat(wert,space(30)),1,30) as wert
>
> Das funktioniert zwar wenn ich den Wert mit Leerzeichen auffüllen möchte.
> Klar kann man repeat(filler,x) verwenden um dies mit anderen Zeichen zu
tun
> aber gibt es evtl. eine fertige Funktion welche man aufrufen kann?
>
> Praktisch wäre z.B. auch wenn man angeben könnte ob der Wert am Anfang
oder
> am Ende mit dem Zeichen gefüllt werden soll. Praktisch z.B. bei Zahlen (45
> => 00045)
Du meinst sicher dieses:
LPAD(zeichenkette,laenge,fuellzeichenkette)
Gibt die Zeichenkette zeichenkette zurück, links aufgefüllt mit der
Zeichenkette fuellzeichenkette, bis zeichenkette laenge Zeichen lang ist.
Wenn zeichenkette länger als laenge ist, wird sie auf laenge Zeichen
verkürzt.
mysql> select LPAD('hi',4,'??');
-> '??hi'
RPAD(zeichenkette,laenge,fuellzeichenkette)
Gibt die Zeichenkette zeichenkette zurück, rechts aufgefüllt mit der
Zeichenkette fuellzeichenkette, bis zeichenkette laenge Zeichen lang ist.
Wenn zeichenkette länger als laenge ist, wird sie auf laenge Zeichen
verkürzt.
mysql> select RPAD('hi',5,'?');
-> 'hi???'
Gruß
Markus Stanczyk
php::bar PHP Wiki - Listenarchive