none
führende Zahl ersetzen RRS feed

  • Frage

  • Hallo zusammen,

    ich versuche gerade bei meinen MS SQL Server in der Datenbank eine führende Zahl zu ersetzen.

    z.B. alle Einträge die 49-01xxx haben sollen 01xxx bekommen. Es geht um Telefonnumern. und soll eine bestimmte kombination am Anfang abfragen und dann ersetzten

    Versucht habe ich das so, die ersten drei Stellen zu löschen, wenn 49- am Anfang enthalten ist.

    UPDATE [cxxxx ng2].[dbo].Contacts where Phone like '49-%'
    SET Phone = SUBSTRING(phone,3)

    wo habe ich da den Fehler?

    Dienstag, 16. Januar 2018 09:44

Antworten

  • Hallo Christian,

    probiers mal hiermit:

    UPDATE [cxxxx ng2].[dbo].Contacts
    SET    Phone = SUBSTRING( Phone, 4, 1000 )
    WHERE  Phone LIKE '49-%'


    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


    Dienstag, 16. Januar 2018 10:25
    Moderator
  • Hallo Christian,

    oder alternativ hiermit, falls Du schon weißt was da rein soll:

    Declare @Test table(Phone varchar(100));
    
    Insert into @Test values ('49-012313'), ('12-456897'); 
    
    Select *
    from @Test;
    
    UPDATE @Test
    SET    Phone = STUFF( Phone, 1, 3, 'ABCDE-')
    WHERE  Phone LIKE '49-%';
    
    Select *
    from @Test;
    HTH!

    Einen schönen Tag noch, Christoph -- Data Platform MVP - http://www.insidesql.org/blogs/cmu

    Dienstag, 16. Januar 2018 11:48
    Beantworter

Alle Antworten

  • Hallo Christian,

    probiers mal hiermit:

    UPDATE [cxxxx ng2].[dbo].Contacts
    SET    Phone = SUBSTRING( Phone, 4, 1000 )
    WHERE  Phone LIKE '49-%'


    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


    Dienstag, 16. Januar 2018 10:25
    Moderator
  • Hallo Christian,

    oder alternativ hiermit, falls Du schon weißt was da rein soll:

    Declare @Test table(Phone varchar(100));
    
    Insert into @Test values ('49-012313'), ('12-456897'); 
    
    Select *
    from @Test;
    
    UPDATE @Test
    SET    Phone = STUFF( Phone, 1, 3, 'ABCDE-')
    WHERE  Phone LIKE '49-%';
    
    Select *
    from @Test;
    HTH!

    Einen schönen Tag noch, Christoph -- Data Platform MVP - http://www.insidesql.org/blogs/cmu

    Dienstag, 16. Januar 2018 11:48
    Beantworter
  • Super,

    Das hat gleich funktioniert, habe die Länge vergessen.

    Vielen lieben Dank!

    Sonntag, 28. Januar 2018 12:34