Announcement

Collapse
No announcement yet.

Strings auf feste Länge formatieren?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Strings auf feste Länge formatieren?

    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

  • #2
    wozu gibt es einen Unterschied zwischen CHAR und VARCHAR?


    [HIGHLIGHT="SQL"]SELECT DATALENGTH (CAST (' ' as Varchar(35))), DATALENGTH (CAST (' ' as char(35)))[/HIGHLIGHT]

    Comment


    • #3
      autsch und Danke. Baum und Wald Problem :-D

      Comment

      Working...
      X