Announcement

Collapse
No announcement yet.

Problem MS SQL2005 binäres (blob) Feld auf "NULL" setzen.

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

  • Problem MS SQL2005 binäres (blob) Feld auf "NULL" setzen.

    Hallo ich habe eine Frage.

    Folgendes hat sich zugetragen:

    Per update statement habe ich bei einem binärem Feld dessen inhalt NULL war den Inhalt auf "a" geändert.

    Nun möchte ich den INhalt wieder auf NULL zurücksetzen, aber es scheint da ein Problem mit dem gleichheitszeichen und dem binären feld setzen.

    Mein statement sieht momentan so aus:

    update tabelle
    set FELD = null
    where Feld = 'a'

    das Problem scheint beim 2ten "=" zu liegen.

    Was kann ich da tuen?

    die Fehlermeldung lautet, welche erscheint lautet


    Die Datentypen image und varchar sind im equal to-Operator inkompatibel

  • #2
    Hallo,

    ja, das ist eine der "lustigen" Einschränkungen bei BLOB Felder.

    Verwende einfach LIKE

    WHERE Feld LIKE 'a'
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      wenn ich das versuche kommt:

      Der Argumentdatentyp varchar ist für das 2-Argument der like-Funktion ungültig.

      Comment


      • #4
        Also, da passt irgend etwas nicht voreinander.

        Was ist es den nun, ein Blob Feld (1. Posting) oder ein varchar (2. Posting)?

        Die Fehlermeldung gibt es beim MSSQL auch nicht.
        LIKE ist kein "2-Argument" Befehl.

        Und bei mir klappt es problemlos und das mit IMAGE, NVARCHAR(max) und VARCHAR(x) Felder.

        Schreib doch mal Dein wirkliches Statement.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          mein wirkliches Statement:


          update dokument
          set dok_inhalt = null
          WHERE dok_inhalt = 'a'

          Die Datentypen image und varchar sind im equal to-Operator inkompatibel.



          daraufhin schrieb ich folgendes:


          update dokument
          set dok_inhalt = null
          WHERE dok_inhalt = 'a'
          Die Datentypen image und varchar sind im equal to-Operator inkompatibel.

          Der Argumentdatentyp varchar ist für das 2-Argument der like-Funktion ungültig.

          Comment


          • #6
            Sorry, da habe ich etwas langsam geschaltet.
            Der MSQL "mag" die Konvertierung varchar <=> image für den Vergleich nicht.

            Wenn wirklich nur a drin steht, dann geht das:

            WHERE dok_inhalt LIKE 0x61

            also über den Ascii-Wert in Hex.
            Olaf Helper

            <Blog> <Xing>
            * cogito ergo sum * errare humanum est * quote erat demonstrandum *
            Wenn ich denke, ist das ein Fehler und das beweise ich täglich

            Comment


            • #7
              ah, vielen dank

              Comment

              Working...
              X