[MSSQL] Spalten verbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MSSQL] Spalten verbinden

    [MSSQL] + SQL Query Analyser

    Hallo

    Ich möchte die Inhalte von mehreren Spalten(Typ=Text) in einer kombinieren.
    z.b.: UPDATE bspTable set spalte_gesamt = spalte1+spalte2+spalte3
    Klappt auch im grunde ohne Probleme, aber sobald eine der spalten NULL ist, ist auch das Ergebnis(Inhalt von spalte_gesamt) NULL.

    Gibt es eine Möglichkeit(Funktion,...?), dass Spalten mit NULL als leerer String behandelt werden?
    Als Alternative wäre die Möglichkeit mit if-Statements zu arbeiten, oder die Spalten die NULL sind vorher mit leeren Strings zu füllen, dies möchte ich jedoch nur als Notlösung in betracht ziehen, sollte doch anders gehen.

    PS: hat jemand eine gute Online-Referenz einer MSSQL Doku?

  • #2
    gab es da nicht eine funktion CONVERT()?

    PS: hat jemand eine gute Online-Referenz einer MSSQL Doku?
    msdn?

    Kommentar


    • #3
      convert() macht mir hier aus dem TEXT nur ein nvarchar damit ich mit + die Spalten verbinden kann; hatte das schon so, nur vergessern zu erwähnen.

      msdn, ja klar, find ich aber total unübersichtlich, gibts da alternativen?

      Kommentar


      • #4
        bei convert kannst du den zieldatentyp angeben.
        was passiert dabei mit null-spalten?

        Kommentar


        • #5
          gar nix, die bleiben NULL

          das ganze hat aber auch nix mit convert() zu tun
          ist dasselbe wenn ich z.b nvarchar Typen habe
          convert() macht mir hier aus dem TEXT nur ein nvarchar damit ich mit + die Spalten verbinden kann

          Kommentar


          • #6
            das geht auch mit isnull(FIELD1,'')+isnull(FIELD2,'') usw.

            Kommentar


            • #7
              jap, das hab ich gesucht
              vielen dank

              €: Gibts das auch für leerer String '' bzw eine allgemeine Funktion, die auf einen Wert prüft und dann mit einem anderen ersetzt?
              Hab da nur REPLACE() gefunden, die machts ja für alle Vorkommen. Möchts aber nur wenn etwas genau dem Ausdruck entspricht.
              Zuletzt geändert von SonGoten13; 21.02.2007, 09:52.

              Kommentar


              • #8
                ... hm, da würde ich jetzt case when nehmen
                Code:
                select case when FIELD1='' THEN 'A' ELSE 'B' END as FIELD1

                Kommentar


                • #9
                  wunderbar

                  Kommentar

                  Lädt...
                  X