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

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, 10791 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
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 3 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 3 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 3 StundenHardware5 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 3 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux22 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL13 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...