Hoeen Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Wie wär's denn damit? update partner set vorwahl = '+' || substr(vorwahl, 3) where substr(vorwahl, 1, 2) = '00' ; MfG, AxlHammer Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Auf welcher DB machst Du das? Das hier gilt für die Sybase-DB: update dba.partner set vorwahl=string('+',substr(vorwahl,3)) where substr(vorwahl,0,2)='00' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hoeen Geschrieben 15. Oktober 2002 Autor Teilen Geschrieben 15. Oktober 2002 ne, arbeite mit einerm mysql datenbank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Original geschrieben von AxlHammer Wie wär's denn damit? Für welche DB? Kann mit der Syntax grad nix anfangen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Original geschrieben von Hoeen ne, arbeite mit einerm mysql datenbank! Probier mal aus, ob er die Anweisung schluckt, müsste eigentlich auch gehen. Und nicht vergessen: "rollback" kann Leben retten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hoeen Geschrieben 15. Oktober 2002 Autor Teilen Geschrieben 15. Oktober 2002 Original geschrieben von Saga Probier mal aus, ob er die Anweisung schluckt, müsste eigentlich auch gehen. 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 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> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tauron Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Moin ! ne, leider kann mysql das Substr nicht, dafür Substring, was ja ähnlich ist.. UPDATE partner SET partner.vorwahl = '+' + SUBSTRING(partner.vorwahl, 3) WHERE LEFT(partner.vorwahl, 2) = '00'; gruß Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hoeen Geschrieben 15. Oktober 2002 Autor Teilen Geschrieben 15. Oktober 2002 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! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tauron Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 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.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 Original geschrieben von tauron '+' + SUBSTRING(partner.vorwahl, 3) Kann man das nicht noch in ein string(...) setzen? Vielleicht haette Hoeen dann auch nicht das Problem, dass jetzt zwar die Nullen weg sind, das + aber nicht erscheint. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Saga Geschrieben 15. Oktober 2002 Teilen Geschrieben 15. Oktober 2002 @Hoeen: Probier das mal aus: update vorwahl set vorwahl = CONCAT('+',substring(vorwahl,3, length(vorwahl)-2)) where substring(vorwahl,1,2) = '00' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.