Announcement

Collapse
No announcement yet.

SELECT auf eine Spalte von [Ausdruck1] bis [Ausdruck2]

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

  • SELECT auf eine Spalte von [Ausdruck1] bis [Ausdruck2]

    Hallo zusammen.

    Aufbau meiner Tabellenspalte COLUMN_A:

    "abcd<FileName>test.txt</FileName>efgh"
    "aabbccd<FileName>peter.doc</FileName>hallo"
    ".."
    ".."

    Ich möchte nun mit einem einzigen SELECT jeweils den [FileName] auslesen, also alles was zwischen <FileName> und </FileName> steht.

    Wie mache ich das? Bin für jeden Tipp dankbar. In 2 Schritten habe ich das schon geschafft, in einem jedoch leider nicht.

    Viele Grüße,
    Daniel

    ---
    SQL 2008
    Zuletzt editiert von veegee; 18.05.2011, 09:56.

  • #2
    Ich übernehme keine Garantie. Es müsste mit einer Kombination aus folgenden SQL-String-Funktionen gehen:
    CHARINDEX
    SUBSTRING

    Ist ein wenig verwirrend und nicht geprüft, aber müsste ca so gehen:

    [highlight=sql]
    SELECT SUBSTRING( column_a, CHARINDEX('<FileName>', column_a) + 10, CHARINDEX('</FileName>', column_a) - CHARINDEX('<FileName>', column_a) - 10)
    FROM tablename
    [/highlight]

    Comment

    Working...
    X