Hi,
ich muss für die Ausgabe in ein Textfile (Schnittstellenübergabe einer Spedition) diverse Felder aus der Datenbank immer in einer bestimmten Länge ausgeben, da dies die Vorgabe der Schnittstelle ist.
Folgendes habe ich bisher versucht:
SELECT
CAST(feld1 AS varchar(35)) AS feld1_35
LEFT(feld2+' hier stehen 35 Leerzeichen ', 35) As feld2_35
FROM Tabelle
Leider bekomme ich weder auf die eine noch auf die andere art und Weise die Länge von 35 Zeichen ausgegeben. Die Felder müssen in dem Fall genau 35 Zeichen lang sein, d.h. wenn sie kürzer sind muss mit Leerzeichen aufgefüllt werden, wenn das DB Feld länger ist, dann soll dies abgeschnitten werden. Dachte eigentlich dass der 2. Fall mit feld2 auf jeden Fall funktionieren sollte, aber nicht mal das geht. Es scheint dass der MSSQL hier eine echte Leerzeichenoptimierung vornimmt :-(
Hilfe ... was kann ich noch tun?
Gruß,
Lars
ich muss für die Ausgabe in ein Textfile (Schnittstellenübergabe einer Spedition) diverse Felder aus der Datenbank immer in einer bestimmten Länge ausgeben, da dies die Vorgabe der Schnittstelle ist.
Folgendes habe ich bisher versucht:
SELECT
CAST(feld1 AS varchar(35)) AS feld1_35
LEFT(feld2+' hier stehen 35 Leerzeichen ', 35) As feld2_35
FROM Tabelle
Leider bekomme ich weder auf die eine noch auf die andere art und Weise die Länge von 35 Zeichen ausgegeben. Die Felder müssen in dem Fall genau 35 Zeichen lang sein, d.h. wenn sie kürzer sind muss mit Leerzeichen aufgefüllt werden, wenn das DB Feld länger ist, dann soll dies abgeschnitten werden. Dachte eigentlich dass der 2. Fall mit feld2 auf jeden Fall funktionieren sollte, aber nicht mal das geht. Es scheint dass der MSSQL hier eine echte Leerzeichenoptimierung vornimmt :-(
Hilfe ... was kann ich noch tun?
Gruß,
Lars
Comment