none
Letzten 2 Zeilen eines Textfeldes entfernen RRS feed

  • Frage

  • Hallo,

    Ich möchte die letzten 2 Zeilen eines Textfeldes entfernen.

    Example:
    Firmname\n
    Department\n
    Firstname Lastname\n
    street\n
    Zipcode city

    Das soll herauskommen:

    Firmname
    Department
    Firstname Lastname

    Mein Ansatz ist bisher:
    Ich setzte einfach 2 Leerzeichen vor dem Umbruch bei Lastname.
    (Nicht sehr elegant.)

    SELECT
    c.new_adresse1_adressfenster,
    SUBSTRING(c.new_adresse1_adressfenster,0,PATINDEX('%[ ][ ]%', c.new_adresse1_adressfenster)) As test FROM FilteredContact as c

    Aber das Patindex findes die beiden Leerzeichen nicht...

    Freue mich sehr über einen eleganteren Hinweis.

    Sebastian1234

    Sonntag, 8. November 2009 16:57

Antworten

  • Hallo Sebastian,

    verkette mehrere CHARINDEX Ausdrücke:

    SELECT LEFT(c.new_adresse1_adressfenster,
        CHARINDEX(@LF, c.new_adresse1_adressfenster,
            CHARINDEX(@LF, c.new_adresse1_adressfenster,
                CHARINDEX(@LF, c.new_adresse1_adressfenster, 1) + 1) + 1))

    wobei @LF das verwendete Umbruchzeichen ist.
    DECLARE @LF nvarchar(1) = NCHAR(10); -- ggf. auch CHAR(13) + CHAR(10)

    Gruß Elmar
    Montag, 9. November 2009 10:00
    Beantworter