2.2k Aufrufe
in Datenbanken von
Ich habe ein Feld des Datentyps varchar mit einer Länge von 42. Ich möchte nun in einer Sicht eine Abfrage erstellen, welche mir u. a. dieses Feld ausgibt und bei einer Länge kleiner 42 die restlichen Felder bis zu einer Länge von 42 mit Leerzeichen auffüllt.

Ich konnte bereits herausfinden, dass dies mit Rpad möglich ist. Jedoch konnte ich bisher nur den Einsatz in einer Oracle-Datenbank finden. Ist diese Funktion im SQL Server Enterprise Manager überhaupt vorhanden? Ich erhalte nämlich immer die Fehlermeldung, dass 'RPAD' nicht als Funktionsname erkannt wird.

3 Antworten

0 Punkte
von son_quatsch Experte (5.3k Punkte)
Gerade in dem Funktionsbestand unterscheiden sich die DBMS-Hersteller gravierend. Probier es mit

SELECT REPLICATE(' ', (42- LEN(Spalte)))+ Spalte AS Spaltentitel FROM Tabelle
0 Punkte
von
Die Funktion Replicate ist mir schon auch bekannt. Jedoch wird dadurch das Feld von links mit Leerzeichen aufgefüllt und nicht wie von mir gewünscht nach rechts.
0 Punkte
von son_quatsch Experte (5.3k Punkte)
Das ist dann dein mangelndes Abstraktionsvermögen - kannst das doch einfach umstellen:

SELECT Spalte+ REPLICATE(' ', (42- LEN(Spalte))) AS Spaltentitel FROM Tabelle

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...