Pete: SQL - Prüfen ob String leer

Hi, mit IsNull(Feld, "") kann man ja prüfen ob ein Feld NULL ist und falls ja einen dementsprechenden Wert verwenden.
Gibt es eine Möglichkeit zur überprüfung auf einen leeren String ('') ?

  1. Hi,

    Gibt es eine Möglichkeit zur überprüfung auf einen leeren String ('') ?

    SELECT irgendwas FROM tabelle WHERE spaltenName='';

    mfG,
    steckl

    1. Hi,

      Gibt es eine Möglichkeit zur überprüfung auf einen leeren String ('') ?

      SELECT irgendwas FROM tabelle WHERE spaltenName='';

      mfG,
      steckl

      Nein, das meinte ich nicht. Ich meinte eine Function ähnlich zu IsNull, ohne subselect

      1. Hello,

        Nein, das meinte ich nicht. Ich meinte eine Function ähnlich zu IsNull, ohne subselect

        du redest NICHT über SQL, oder? IsNull(feld, "") ist mir nicht geläufig...
        Im Prinzip hat steckl Recht, eine Spalte, die definitiv einen Wert enthält, ermittelt man mit
        SELECT spalte FROM tabelle WHERE spalte IS NOT NULL AND spalte <> ''

        MfG
        Rouven

        --
        -------------------
        Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
        1. Hello,

          Nein, das meinte ich nicht. Ich meinte eine Function ähnlich zu IsNull, ohne subselect
          du redest NICHT über SQL, oder? IsNull(feld, "") ist mir nicht geläufig...

          Hi

          das würde n etwa folgendermassen aussehen

          select isnull(test, "juhu") from tabelle
          -> wenn das Feld NULL ist, wird juhu ausgegeben
          ich weiss nicht ob das standart T-SQL ist oder MSSQL spezifisch...

          1. Hi,

            das würde n etwa folgendermassen aussehen

            select isnull(test, "juhu") from tabelle
            -> wenn das Feld NULL ist, wird juhu ausgegeben

            Das geht auch mit einem if:
            select if(test is NULL,'Juhu',test) from tabelle;
            fuer leerstring dann analog mit der Bedingung von vorhin.

            ich weiss nicht ob das standart T-SQL ist oder MSSQL spezifisch...

            Mir ist es jedenfalls bei mySql noch nie untergekommen.

            mfG,
            steckl

          2. Hello,

            ich weiss nicht ob das standart T-SQL ist oder MSSQL spezifisch...

            wie gesagt, mir noch nicht untergekommen, klingt nach einem Ausläufer der VB-Funktion IsNull. In der DB2 würde ich das mit VALUE(spalte, '') angehen. Um deinen Leerstring zu vermeiden müsstest du dann noch ein IF außen herumsetzen, Syntax ggf. nachschlagen, schematisch etwa:
            SELECT IF(VALUE(spalte, '')='', 'Default Wert', spalte)

            • aus NULL wird ''
            • aus '' wird "Default Wert"

            MfG
            Rouven

            --
            -------------------
            Wenn du die Nadel im Heuhaufen nicht findest, zünde den Heuhaufen an.