Zum Inhalt springen

SQL: anstatt 00 ein +


Hoeen

Empfohlene Beiträge

hm, wusste keinen besseren Betreff...naja.

ich möchte aus einer Tabelle Partner bei jedem Eintrag des Feldes Vorwahl anstatt der ersten beiden Stellen 00 ein Plus stehen haben. also anstatt '0049 531' möchte ich da '+49 531' stehen haben! das gilt aber nur für felder, die am anfang ein 00 haben!

die tabelle Partner hat ca. 7000 einträge und ich möchte nicht jeden eintrag per hand ändern! weiß jemand, wie ich das in sql ändern kann??? kann mir vielleicht jemand ein beispiel geben oder das gleich auf das problem beziehen?

danke gruß

hoeen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Saga

Probier mal aus, ob er die Anweisung schluckt, müsste eigentlich auch gehen. :D;)

nö, leider nich :-(

Original geschrieben von AxlHammer

update partner

set vorwahl = '+' || substr(vorwahl, 3)

where substr(vorwahl, 1, 2) = '00' ;

auch die anweisung läuft nicht! er sagt mir immer error in syntax near (vorwahl, 3) ...

warum auch immer! eigentlich müsste es gehen! naja...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Hoeen

nö, leider nich :-(

Schade...vielleicht kann Mysql die substr-Funktion nicht. Bin in Sachen Mysql aber auch nicht so bewandert, also musst Du leider auf die Spezialisten warten. Versuch war's jedenfalls wert.

Hast Du mal in der Hilfe nach einem Analogon zu der substr-Funktion gesucht? Da muss es doch was ähnliches geben. Ansonsten schau da mal, ob Du über Google ein Tutorial ausfindig machen kannst.

<edit>Ich hab jetzt mal das Forum meiner Berufsschule zu Rate gezogen, vielleicht ergibt sich da was. Was mir einfällt: Hast Du am Ende der Anweisung ein Semikolon gesetzt?</edit>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von tauron

UPDATE partner SET partner.vorwahl = '+' + SUBSTRING(partner.vorwahl, 3)WHERE LEFT(partner.vorwahl, 2) = '00';

also ich verzweifel hier noch! ich hasse so kleine fehler, auf die man nie kommt...

also folgendes problem: wenn ich jetzt die anweisung eingebe, macht er zwar die '00' weg, jedoch das + nicht hin... dann steht da also anstatt '00123457' nur '123457'

hilfe???

ich könnte jetzt noch eine zweite anweisung machen, die vor den datensätzen ein + und ein leerzeichen macht!

Link zu diesem Kommentar
Auf anderen Seiten teilen

was für einen Datentyp hat "Vorwahl" ?

Wenn es nämlich eine Zahl ist, nimmt er das + als Vorzeichen und lässt es dann beim Ausgeben der Zahl halt weg, du müsstest dafür String oder Char (weiss nicht mehr genau wie des bei mysql hies) nehmen.

[Edit] nicht drüber nachgedacht, wenns von einem Zahlen-Typ wäre, gäbe es ja die führenden Nullen auch nicht..

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...