Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Entwicklung Datenbanken

GELÖST

Erstes Zeichen in SQL Datenbank prüfen und ersetzen

Mitglied: napperman

napperman (Level 2) - Jetzt verbinden

04.01.2011, aktualisiert 11:58 Uhr, 10529 Aufrufe, 6 Kommentare

Hallo zusammen!

Ich habe hier eine MySQL-Datenbank mit den Daten unserer Kunden.
Nun möchte ich gern die Telefonnumern unserer Kunden anpassen:
Bei ausländischen Kunden ist die nummer im kanonischen Format hinterlegt.
Bei deutschen Kunden nicht. Da habe ich nur die Vorwahl mit führenden Null. Das soll nun auch kanonisch.
Ich bräuchte also ein SQL-Script welches in einer bestimmten Spalte einer Tabelle die Daten untersucht, ob sie mit einer 0 beginnen. Diese müsste dann durch +49 ersetzt werden.
Kann mir jemand auf die Sprünge helfen?
Ich komme mit Replace ja nicht weiter, da mir dann ja auch Nullen in der Nummer ersetzt würden.
Ich weiß nicht wie ich nur das erste Zeichen betrachte/ersetze

Vielen Dank schon mal für hoffentlich gute Tipps

Gruß,

Napperman
Mitglied: dog
04.01.2011 um 12:57 Uhr
01.
UPDATE tbl1 SET telnum = CONCAT("+49",SUBSTRING(telnum FROM 2)) WHERE SUBSTRING(telnum,1,1) = "0"
ungetestet
Bitte warten ..
Mitglied: napperman
04.01.2011 um 13:46 Uhr
Hi Dog,

Kannst Du mir diese interessante Zeile ein wenig erklären? Meine SQL Kenntnisse sind nicht die besten.
telnum bezieht sich auf die Spalte (also Spaltenname)?
tbll ist der Name der Tabelle?
was hat es mit telnum FROM 2 auf sich. Was ist 2?

Danke!!!!
Bitte warten ..
Mitglied: napperman
04.01.2011 um 13:48 Uhr
Außerdem würde dann die Null ja nicht entfernt, richtig?
Bitte warten ..
Mitglied: Biber
04.01.2011 um 16:50 Uhr
Moin napperman,

Zitat von napperman:
Außerdem würde dann die Null ja nicht entfernt, richtig?

Das ist doch genau das, was dog implizit mit seinem Kommentar "Ungetestet" andeuten wollte:
Verifizieren oder falsifizieren kannst am Schnellsten du diesen Ansatz, denn du hast die passenden Daten.

Wenn du nichts "beschädigen" willst an deinen Daten, dann mach doch vorher einen ungefährlichen SELECT, der den CONCAT/SUBSTRING/WHERE-Firlefanz enthält:
01.
SELECT telnum as telnumJezz,  
02.
        CONCAT('+49', SUBSTRING(telnum FROM 2)) as TelNumSpaeter 
03.
 FROM tbl1 
04.
WHERE SUBSTRING(telnum, 1, 1) = '0'
... dann siehst doch das Was-Wäre-Wenn.
Oder eine Syntaxfehlermeldung - ich habe es auch nicht getestet.

Das "FROM 2" in der SUBSTRING-Funktion bedeutet "vom 2. Zeichen an" und CONCAT() ist neudeutsch für ZUSAMMENBRAT().
Was fehlt dir noch zum Testen?

Grüße
Biber
Bitte warten ..
Mitglied: Logan000
04.01.2011 um 16:52 Uhr
Moin moin

Zum Nachlesen von CONCAT und SUBSTRING schau mal hier: http://dev.mysql.com/doc/refman/5.1/de/string-functions.html

telnum bezieht sich auf die Spalte (also Spaltenname)?
Ja
tbll ist der Name der Tabelle?
Ja
was hat es mit telnum FROM 2 auf sich. Was ist 2?
Korrekt heist es:
01.
SUBSTRING(telnum FROM 2)  -- liefert den Teilstring des Feldes "telnum" ab dem 2. Zeichen
Außerdem würde dann die Null ja nicht entfernt, richtig?
Doch, s.o

Gruß L.

/Edit
Und wiedermal zeigt sich: Das schnellste Säugetier ist der Biber!
/Edit
Bitte warten ..
Mitglied: napperman
04.01.2011 um 17:15 Uhr
Danke für die Hilfe, so komme ich dem Problem nun bei
Das FROM 2 hatte ich nicht verstanden, so fällt natürlich das erste Zeichen weg.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Im Dateinamen den ERSTEN Unterstrich durch Punkt ersetzen (immer drittes Zeichen)
gelöst Frage von bugmenot2Batch & Shell9 Kommentare

Ich habe die Frage hier schon gestellt: jedoch bin ich mir nicht sicher ob das da noch jemand ließt ...

VB for Applications
VBScript: Hexwert durch Zeichen (String) ersetzen
gelöst Frage von GurkenhobelVB for Applications12 Kommentare

Hallo Gemeinde, ich benötige wieder einmal Euer sachkundiges Expertenwissen. Und zwar möchte ich ältere Textdokumente (erstellt um 2000, evtl. ...

Batch & Shell
Tilde Zeichen per Batch ersetzen
gelöst Frage von Blackhawk386Batch & Shell6 Kommentare

Hi! Ich habe eine Datei in Textform, in der Umlaute per Batch umgewandelt werden müssen. Dazu habe ich hier ...

Batch & Shell
Dateien umbenennen - ersten Zeichen entfernen
Frage von jan999Batch & Shell4 Kommentare

Moin! meine bessere Hälfte hat mich nach der Lösung folgender Aufgabe gefragt - eine Idee habe ich. Nur weiß ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 3 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit12 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall10 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS9 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...