none
Update in SQL RRS feed

  • Frage

  • Hi there

    I know it is a simle question but I cannot get it work.

    I have a table called Adressen. In this table I have the field Bank (varchar) and the field Bemerkungen (text).

    Now I like to simply add (append) the field Bank to the field Bemerkungen.

    First i tried Update Adressen set Bemerkungen = Bank & Bemerkungen but this didn't work because of converting problem.

    Then i tried with convert but was not so lucky.

    Can someone tell me with this beginner question?

     

    Thanks alot

    Mittwoch, 19. Januar 2011 11:21

Antworten

  • Steht den in "Bemerkung" bereits was drin oder sind nur NULL Werte enthalten? NULL + irgendwas ergibt immer NULL => NULL Werte in Leerstring umwandeln mittels ISNULL(Feld, '')

    UPDATE Adressen

    SET Bemerkungen = CONVERT( varchar(max), ISNULL(Bemerkungen, '') ) + Bank

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 19. Januar 2011 12:22
  • Hi,

    I know it is a simle question but I cannot get it work.

    da das hier ein deutschsprachiges Forum ist, kannst Du auch auf Deutsch fragen :)
    Now I like to simply add (append) the field Bank to the field Bemerkungen.

    First i tried Update Adressen set Bemerkungen = Bank & Bemerkungen but this didn't work because of converting problem.

    UPDATE Adressen SET Bemerkungen = CONVERT( varchar, Bemerkungen ) + Bank
    
    sollte passen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 19. Januar 2011 11:53
    Moderator

Alle Antworten

  • Hi,

    I know it is a simle question but I cannot get it work.

    da das hier ein deutschsprachiges Forum ist, kannst Du auch auf Deutsch fragen :)
    Now I like to simply add (append) the field Bank to the field Bemerkungen.

    First i tried Update Adressen set Bemerkungen = Bank & Bemerkungen but this didn't work because of converting problem.

    UPDATE Adressen SET Bemerkungen = CONVERT( varchar, Bemerkungen ) + Bank
    
    sollte passen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 19. Januar 2011 11:53
    Moderator
  • Hallo nochmal.

    I have a table called Adressen. In this table I have the field Bank (varchar) and the field Bemerkungen (text).

    falls sich das Schema deinerseits problemlos ändern lässt und Du SQL Server in Version 2005 oder höher einsetzt, wäre es ggfs. sinnvoll, für Bemerkungen varchar(MAX) anstelle von text zu nehmen.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 19. Januar 2011 11:54
    Moderator
  • UPDATE Adressen SET Bemerkungen = CONVERT( varchar, Bemerkungen ) + Bank


    Nur eine kleine Anmerkung, wenn man bei varchar (MS SQL Server) nicht explizit die Anzahl Zeichen bzw. MAX mit angibt, wird per default varchar(30) verwendet; hier könnten dadurch Daten verloren gehen. Von daher besser immer explizit mit angeben.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 19. Januar 2011 12:19
  • Hallo

    Ich führe den Befehl aus und es klappt. Nur schreibt er mir nichts ins Feld Bemerkungen rein.

    Mittwoch, 19. Januar 2011 12:20
  • Steht den in "Bemerkung" bereits was drin oder sind nur NULL Werte enthalten? NULL + irgendwas ergibt immer NULL => NULL Werte in Leerstring umwandeln mittels ISNULL(Feld, '')

    UPDATE Adressen

    SET Bemerkungen = CONVERT( varchar(max), ISNULL(Bemerkungen, '') ) + Bank

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 19. Januar 2011 12:22
  • Hallo

     

    Herzlichen Dank! Es hat geklappt!

    Donnerstag, 20. Januar 2011 07:33
  • Hallo Nijazi
     
    You are from the Access/VBA side, correct? Why I ask: You use & to concatenate text values. In TSQL this is a logical operator. You only can use + to do this. And as + works similar as + in Access/VBA you have to use the coalesce() function on both sides to not loose any data if the field is NULL.
     
    The Update should work this way:
     
    UPDATE Adressen
       SET Bemerkungen = COALESCE(Bank + ' ', '') + COALESCE (Bemerkungen, '')
     WHERE Bemerkungen IS NOT NULL
        OR Bank IS NOT NULL
     
    If you don't use the WHERE condition you will get an empty string ('') instead of NULL if both of the columns are NULL.
     
     
    HTH
    Henry
     

    Hi there

    I know it is a simle question but I cannot get it work.

    I have a table called Adressen. In this table I have the field Bank (varchar) and the field Bemerkungen (text).

    Now I like to simply add (append) the field Bank to the field Bemerkungen.

    First i tried Update Adressen set Bemerkungen = Bank & Bemerkungen but this didn't work because of converting problem.

    Then i tried with convert but was not so lucky.

    Can someone tell me with this beginner question?

     

    Thanks alot

    Montag, 24. Januar 2011 05:36
  • Hallo Stefan
    Dieses Statement wird zum den Verlust des Inhaltes des Feldes Bemerkungen führen, wenn Bank NULL ist. Zudem wird das Feld Bemerkungen auf 30 Stellen gekürzt. Ziemlich gefährlich.
    Gruss
    Henry
    Hi,

    I know it is a simle question but I cannot get it work.

    da das hier ein deutschsprachiges Forum ist, kannst Du auch auf Deutsch fragen :)
    Now I like to simply add (append) the field Bank to the field Bemerkungen.

    First i tried Update Adressen set Bemerkungen = Bank & Bemerkungen but this didn't work because of converting problem.

    UPDATE Adressen SET Bemerkungen = CONVERT( varchar, Bemerkungen ) + Bank
    
    sollte passen.


    Gru�?, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Montag, 24. Januar 2011 05:38