Jump to content

joes1609

Members
  • Gesamte Inhalte

    12
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von joes1609

  1. Hallo zusammen,

    ich habe folgendes Problem:

    Ich habe ein Feld mit dem ich einen bestimmten Text zwischen zwei Tags auslesen will.

    Das funktioniert auf der linken Seite, dann komme ich aber nicht weiter

    Ich habe folgende Skript:

    Select body,
    substring(string, LEN(LEFT(String,CHARINDEX('<ac:parameter ac:name="extras">', string)+31)), LEN(String))
    from bodyntext
    WHERE string like '%<ac:parameter ac:name="extras">%%</ac:parameter>%'

    Das liefert mir folgendes Ergebnis:

     

    false</ac:parameter>xxxxx

     

    Ich benötige aber, das alles rechts von </ac:parameter> abgeschnitten wird, so dass in diesen Fall nur "false" übrig bleibt.

    <ac:parameter ac:name="extras"> kommt nur einmal vor, </ac:parameter> kann öfters vorkommen.

    Mein Versuch mit 

    Select body,
    substring(string, LEN(LEFT(String,CHARINDEX('<ac:parameter ac:name="extras">', string)+31)),
    LEN(String) -LEN(LEFT(string,Charindex('<ac:parameter ac:name="extras">', string)))-LEN(Right(string, LEN(string) - Charindex ('</ac:parameter>', string)))-31) as string
    from bodyntext
    WHERE string like '%<ac:parameter ac:name="extras">%%</ac:parameter>%'

    bringt 

    Meldung 537, Ebene 16, Status 3, Zeile 14
    Ein ungültiger Längenparameter wurde an die LEFT- oder SUBSTRING-Funktion übergeben.

     

    Hab schon eine Weile gesucht, aber noch keine Lösung gefunden.

    Hat jemand einen Tipp

    Bin für jede Hilfe dankbar.

     

    Vielen Dank im Voraus

     

    Gruß joes1609

  2. Hallo Forum,

     

    ich hab da ein Problem mit einer Abfrage.

    Ich habe eine Tabelle mit mehreren Spalten:

     

    Wichtig sind die Spalten TicketID und Gruppe:

     

    Nun beispielhaft eineige Einträge:

     

    TicketID Gruppe

    10 1

    10 2

    10 3

    10 3

    10 4

    ------------

    11 1

    11 2

    11 1

    11 2

    11 1

     

    Ich möchte nun eine Abfrage, in der ausgewertet wird, ob die TicketID in Gruppe 1 oder 2 war und danach mindestens einmal in einer anderen Gruppe. Heisst TicketID 10 wird angezeigt, TicketID 11 nicht.

     

    Ich hoffe, das mir da jemend helfen kann und bedanke mich schon mal im Voraus.

  3. Hallo Leute,

     

    vielen Dank für die vielen Tipps und Hinweise, aber in das Thema muss ich mich erst mal einarbeiten.

    Werde dann posten wie ich`s gelöst habe.

     

    Zitat von NilsK

    nein, eben nicht, siehe oben. Ein einfaches REPLACE geht bei der Anforderung nicht.

     

    Stimmt, hab es mir gerade nochmal angesehen. In VBA wäre es ein leichtes die Strings für Replace zu manipulieren.

    Was heisst denn leicht, hast du vieleicht einen Tipp?

    Ins Thema VBA arbeite ich mich gerade parallel ein.

     

    Jörg

  4. Hallo Leute,

     

    hab da ein Problem, wo ich dachte es ist leichter das zu lösen.

     

    Ich habe eine Spalte in der Worklogdaten eingetragen sind.

    In jeder Zeile sind mehrere Zeichen die wie folgt aussehen.

    Beispiel:

    Das ist ein Test [unterschiedlicher Inhalt] und noch ein test [anderer Inhalt].

    Die Inhalte in den [] sind oft unterschiedlich, und möchte nun, egal was in den eckigen Klammern steht nur [x] angezeigt wird.

    Hoffe ich habe mich verständlich ausgedrückt und bin für jede Hilfe Dankbar

     

    Jörg

  5. Sorry,

     

    Ich habe mir keinen zusammengebauten String, der mit sp_executesql aufgerufen wir,sondern ein SQL-Statement erstellt, damit hat dann das konvertieren wunderbar funktioniert.

     

    Declare @vonDate datetime;

    Declare @BisDate datetime;

     

     

    select top (1) @VonDate = Von, @BisDate = Bis from tb_Zeitraum order by id desc

     

    Insert Into Tabelle (path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail)

    Select path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail

    From GetTree (knotenid, startknotenid, 1, convert(varchar, @vonDate, 112), convert(varchar, @bisDate, 112), '';

     

    So funktioniert es.

  6. Hallo,

    habe da folgendes Problem.

    Meine Daten stehen wie unten zu sehen in meiner Tabelle.

     

    42 99999 Berlin Berliner Str. 123456 Standard Test

    42 99999 Berlin Berliner Str. 123456 Standard Test1

    42 99999 Berlin Berliner Str. 234567 Standard Test

    42 99999 Berlin Berliner Str. 234567 Standard Test1

    42 99999 Berlin Berliner Str. 345678 Standard Test2

    42 99999 Berlin Berliner Str. 456789 Standard Test3

     

    Ich möchte nun, das die Daten in einer View wiefolgt angezeigt werden.

     

    42 99999 Berlin Berliner Str. 123456 Standard Test, Test1

    42 99999 Berlin Berliner Str. 234567 Standard Test, Test1

    42 99999 Berlin Berliner Str. 345678 Standard Test2

    42 99999 Berlin Berliner Str. 456789 Standard Test3

     

    Wie kann man das am besten realisieren?

     

    Bin über jede Hilfe dankbar.

  7. Hallo,

    bin neu im Forum und habe da mal ein Problem,

     

    Habe eine Prozedur, die diverse Werte mit 'sp_executesql' berechnet.

     

    Wenn ich den benötigten Datumswert als String übergebe läuft das Script ohne Probleme, aber sobald ich die Werte aus einer anderen Tabelle abhole und konvertiere, bekomme ich bei der Ausführung folgende Fehlermeldung:

     

    Meldung 8115, Ebene 16, Status 2, Zeile 1

    Arithmetischer Überlauffehler beim Konvertieren von expression in den datetime-Datentyp.

     

    Hier mal der entsprechende Code dazu:

     

    Declare @vonDate datetime;

    Declare @BisDate datetime;

     

     

    select top (1) @VonDate = Von, @BisDate = Bis from tb_Zeitraum order by id desc

     

    set @attrlist = 'path, depth, ds, o, knotenid, von, bis, duration_min, s_total_min, s_fail_min, s_avail';

    set @tablename = 'tb_L9_Ergebnis_ApplMain';

     

    set @gt = 'GetTree (' + convert(varchar, @knotenid) + ', ' + convert(varchar, @startknotenid) + ', 1, '

    set @gt = @gt + convert(varchar, @vonDate, 112) + ', ' + convert(varchar,@bisDate, 112) + ', ' + '''''' + ')';

    --set @gt = @gt + '''20100801''' + ', ' + '''20100901''' + ', ' + '''''' + ')';

    set @s2 = N'insert into ' + @tablename + ' (' + @attrlist + ') select ' + @attrlist + ' from ' + @gt + ' order by path, depth, knotenid, o'

     

    exec sp_executesql @s2

     

    Wenn ich nun anstatt set @gt + @gt + convert....

    die auskommentierte Zeile verwende funktioniert das ohne Probleme.

     

    Würde mich über Hilfe sehr freuen.

     

    Jörg

×
×
  • Neu erstellen...