Announcement

Collapse
No announcement yet.

Suche nach Datensätzen mit flaschem encoding

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

  • Suche nach Datensätzen mit flaschem encoding

    Hallo Oracle SQL Experten,

    ich habe das Problem das ich in einem Namens Feld alte Kaputte Datensätze habe welche ich gerne löschen würde.
    Dazu muss ich zuerst mal einen select schreiben der mit die Fehlerhaften Datensätze liefert. Dazu muss ich auch sagen das ich Einträge mit chinesischen und japanischen Schriftzeichen dabei habe.

    select * from address where REGEXP_LIKE (firstname, '^[a-zA-Z]+$');

    Leider hab ich kein regex pattern zusammengebracht das besser ist.

    Bin für jeden Tipp in die richtige Richtung sehr Dankbar.

    Lg
    Sonic

  • #2
    Was soll es denn bewirken?
    Beginnen mit einem Buchstaben, davon mindestens einen, Ende der Zeichenkette
    Christian

    Comment


    • #3
      Wenn du eine genaue Definition liefern kannst woran du falsche Daten erkennen willst gibt es hier sicherlich jemanden der dir ein passenden Regex nennen kann oder zumindest sagen kann das das per Regex nicht geht. Aber ohne deine Definition geht nix.

      Comment


      • #4
        Oh Sorry. Ich sehe schon ich war nicht sehr präzise.
        Ich hätte gerne eine Regex die der alle regulären Zeichen a-z 1-9 Leerzeichen und chinesische Zeichen.
        Das ist ein Beispiel für einen Kaputen Inhalt den ich gerne finden würde.
        „¼Î¶¨Çø°²Í¤Õò²ý¼ª“
        Leider konnte ich in dem noch kein Muster entdecken nach dem ich filtern kann. Darum wäre mein Ansatz alle gültigen Zeichen zu finden.
        ich habe bei den Regex so was wie "\p{Han}" für Chinesische Zeichen oder vielleicht auch (\p{L} für Unicode letters gefunden, aber habe bis jetzt keinen Weg gefunden das in dem Sql zu verwenden.
        Hat jemand schon mal so was in einem SQL verwendet?
        oder hat jemand einen anderen Ansatz?

        Danke
        Sonic

        Comment


        • #5
          ^[A-Za-z1-9 \p{script=Han}]+$
          Ev. ist es sinnvoller und schneller dafür ein Programm zu schreiben....
          Christian

          Comment


          • #6
            Wenn Du so einen Müll in der DB hast, könntest Du vielleicht die DB Functionen für Encoding einsetzten.
            Zb. Convert und damit Eingang/Ausgangswerte vergleichen oder eine der utl_encode Funktionen.
            Es gibt auch eine Funktion, die den Charset eines String ausspuckt, fällt mir aber grad nicht ein.
            Gruß, defo

            Comment

            Working...
            X