none
Suche in FILE STREAM ... Fehler bei bestimmten Wörtern RRS feed

  • Frage

  • Ich suche innerhalb einer FILE StREAM-Tabelle mit folgendem Suchstring:

    DECLARE @dir_HID hierarchyid=(SELECT path_locator from dbo.DATEISPEICHER where name='_inbox' and is_directory=1)
    
    SELECT  stream_id, name FROM DATEISPEICHER WHERE parent_path_locator=@dir_HID AND (CONTAINS(file_stream,'PL-22-139-3822') OR (CONTAINS(file_stream,'El Hxxxxx') AND CONTAINS(file_stream,'20.04.2002')))

    Das funktioniert normalerweise ganz gut; nicht aber in diesem Fall.

    Ursache ist wohl der Name aus 2 Worten "El Hxxxx". Genauso schlägt die Such emit einer Fehlermeldung fehl wenn man nach Aktenzeichen mit Leerzeichen sucht (wie sie typischerweise bei Gerichten auftauchen).

    Nachdem ich jetzt ein wenig gegoogelt habe bin ich mir gar nicht mehr sicher ob die Suche mit CONTAINS überhaupt sinnvoll ist. Ähnlichkeitssuche brauche ich an sich kaum.

    Oder könnte es Sinn machen, die Leerzeichen zu eliminieren und anstatt dessen mit CONTAINS(file_stream, 'ElHxxx') zu suchen?

    Andere Ideen? Mit Like?

    Donnerstag, 9. Juni 2022 06:15

Antworten

  • Hallo Nico,

    wenn der Suchstring Leerzeichen oder Wildcards wie * enthält, musst Du den Suchstring in doppelte Anführungszeichen setzen, also

    (CONTAINS(file_stream,'"El Hxxxxx"')


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert NicoNi Donnerstag, 9. Juni 2022 09:54
    Donnerstag, 9. Juni 2022 06:55

Alle Antworten

  • Hallo Nico,

    wenn der Suchstring Leerzeichen oder Wildcards wie * enthält, musst Du den Suchstring in doppelte Anführungszeichen setzen, also

    (CONTAINS(file_stream,'"El Hxxxxx"')


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    • Als Antwort markiert NicoNi Donnerstag, 9. Juni 2022 09:54
    Donnerstag, 9. Juni 2022 06:55
  • Okay. Wusste ich nicht. Ich probiere es aus.

    Donnerstag, 9. Juni 2022 07:05
  • Jetzt stellt sich das Problem der Umsetzung.

    Der Suchstring wird in einem SSIS-Paket über einen Ausdrucks-generator-Schritt zusammengebaut.

    Dort muß man ohnehin alles mit Gänsefüsschen umschliessen.

    Insofern habe ich dort schon mehrere STellen mit   "' oder '".

    Alle Versuche doppelte "" hinzukriegen sind gescheitert an Fehlermeldung direkt beim Parsen.

    Wie kriegt man das hin?

    Donnerstag, 9. Juni 2022 07:38