Announcement

Collapse
No announcement yet.

Werte einer Spalte ändern

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

  • Werte einer Spalte ändern

    Hallo,

    Habe folgendes Problem.
    Wir haben eine Tabelle, in der ca. 400.000 Einträge stehen. Es handelt sich dabei um Lagerbuchungen, in der auch die Artikelnummer steht. Es gibt einige Artikel, die als "xyc1234" abgelegt sind und andere als "XYZ1234". Die Großschreibung ist richtig.

    Mit folgendem Statement konnte ich die mit Kleinschreibung ermitteln: (Leider nur pro Anfangsbuchstabe)

    SELECT [ItemNo] FROM [TESTdb].[dbo].[relItem] WHERE Itemno COLLATE Latin1_General_CS_AS LIKE 'x%'
    Geht das auch ohne LIKE für alle?

    Aber die viel wichtigere Frage ist, wie ersetze ich "xyz1234" durch XYZ1234"??

    UPDATE [TESTdb].[dbo].[relItem]
    SET [ItemNo] = (SELECT [ItemNo] FROM [TESTdb].[dbo].[relItem] WHERE Itemno COLLATE Latin1_General_CS_AS LIKE 'XYZ%')
    WHERE [ItemNo] = (SELECT [ItemNo] FROM [TESTdb].[dbo].[relItem] WHERE Itemno COLLATE Latin1_General_CS_AS LIKE 'xyz%')
    Hier gibt aber die erste Select Abfrage mehrere Werte zurück und deshalb geht das so nicht. Vielleicht jemand ne andere Idee?

    Gruß

  • #2
    Hallo,

    nur mal so gefragt: "Gibt es die Möglichkeit,
    dass die "ItemNo" doppelt vorkommt?? Also
    einmal als "xyz1234" und einmal "XYZ1234"."

    Das wäre dann natürlich übel!

    Ansonsten würde ich es einfach so versuchen:

    update item set item.a_id = upper(item.a_id)
    from (select * from item) t
    where item.a_id like t.a_id


    Damit updates Du einfach alle Einträge auf
    Großschreibung!

    Gruß
    acegie

    Comment


    • #3
      Hi acegie,

      vielen Dank für schnelle Hilfe. Habe das mal in der Northwind getest und funktioniert soweit gut.

      In der Tabelle sind die ItemNo sowohl als XYZ123 und auch xyz123 vorhanden. Es werden doch aber nur Kleinbuchstaben in Großbuchstaben geändert oder?

      Gruß

      Comment


      • #4
        Hallo,

        Es werden doch aber nur Kleinbuchstaben in Großbuchstaben geändert oder?
        Das ist richtig! Mehr macht die Abfrage nicht!

        Gruß
        acegie

        Comment


        • #5
          Hallo acegie

          Frage:

          Warum schreibst Du nicht einfach
          update item set item.a_id = upper(item.a_id)

          docendo discimus

          Comment

          Working...
          X