oli83 Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 Ich habe eine Tabelle, in der Adressdaten komplett großgeschrieben sind. Also z.B. MUSTER FIRMA MUSTER-WEG 10 Jetzt soll die Schreibweise auf gemischt umgstellt werden. Also Muster-Firma Muster-Weg 10 Gibt es da eine Möglichkeit über einen SQL-Befehl? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TheyCallMeGeek Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 nee, da der sql-server ja nicht die bedeutung kennt. das ist migrationsarbeit, d.h. du schreibst ein programm, dass das richtig macht. falls du wirklich nur die ersten Buchstaben aller durch " " getrennten wörter groß schreiben willst, ist das auch mit den stringfunktionen deiner datenbank möglich (gibt aber sicher datensätze wo das ein falsches ergebniss liefert) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cattac Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 Na, das wird wohl so einfach nicht werden. Sind Name, Straße, Hausnummer, PLZ, Ort in unterschiedlichen Feldern? Dann solltest du einfach mal folgendes versuchen: Schreibe doch am besten mal eine Procedure oder ein Script, welches ab dem zweitem Buchstaben einen "lowercase" macht. Da ich in Oracle programmiere, weiß ich jetzt den korrekten Befehl für lowercase für MS-SQL nicht. Dürfte es aber auch geben. Probiere da am besten mit einer Testtabelle aus, bevor du das auf der Adresstabelle abfährst. Sollte die Adresse in einem Feld gespeichert sein, was ich mal nicht denke, dann solltest du die Tabelle vorher normalisieren, um an die einzelnen Teile der Adresse heranzukommen. MfG, cattac Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oli83 Geschrieben 6. Juni 2005 Autor Teilen Geschrieben 6. Juni 2005 die tabelle ist schon normalisiert Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 die tabelle ist schon normalisiertUnd? Wie weit? Welche Normalform? Zum Problem selbst: Nein, einen allgemeinen SQL Befehl gibt es nicht. Wenn du Glück hast bietet dir die Datenbank (du hast uns ja auch nicht verraten, welche du verwendest also können wir da auch nur spekulieren) eine FirstLetterToUppercase Funktion an. Bekannt ist mir das allerdings von keiner Datenbank. So wirst du dann nicht drumherumkommen das ganze als Stored Procedure oder in deiner Applikation selber zu handlen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
oli83 Geschrieben 6. Juni 2005 Autor Teilen Geschrieben 6. Juni 2005 3. Normalform liegt vor und ich verwende MS-SQL. Ich werd das ganze jetzt als Applikation lösen. Danke für die Hilfe. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
IJK Geschrieben 6. Juni 2005 Teilen Geschrieben 6. Juni 2005 Bedenke die Ausnahmen... So ist im Namen "weg" meist eine Eigentümergemeinsschaft und sollte als WEG dargestellt werden, während in der Straße es zB der Fritz-Müller-Weg ist Das ist kein triviales Thema und sollte nicht locker nebenbei gemacht werden. LiGrü Michael (gerade so eine Umstellung hinter sich, die dritte) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cattac Geschrieben 7. Juni 2005 Teilen Geschrieben 7. Juni 2005 Ja, Bindestriche könnte man logischerweise auch mit einarbeiten, sollte auch nicht dass Problem sein - könnte nur ein Mörderaufwand werden. Musst du so eine Art NextWork-Procedure bauen, welches ab einem Bindestrich das neue Wort kennzeichnet und ab dem zweiten Buchstaben alles auf lowercase umstellt (nur das jeweils gefundene Wort!). Hinterher sollte man allerdings sich die Datensätze man nochmal genau (manuell) unter die Lupe nehmen, um zu schauen, ob alles glatt gelaufen ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 7. Juni 2005 Teilen Geschrieben 7. Juni 2005 Hallo zusammen, also bei Oracle gibt es dafür die Funktion initcap(p_string), die liefert Dir bei dem Aufruf von initcap('FRITZ-MUELLER-WEG') -> 'Fritz-Müller-Weg' Aber leider schreibst Du ja nicht, welches DBMS Du verwendest... Gruss, Axl Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flori Geschrieben 7. Juni 2005 Teilen Geschrieben 7. Juni 2005 3. Normalform liegt vor und ich verwende MS-SQL. Ich werd das ganze jetzt als Applikation lösen. Danke für die Hilfe. Hm, ich geh mal davon aus, daß Du mit "MS-SQL" Microsoft meinst und demnach evlt. mit dem SQL Server 200 o.ä. arbeitest. Da gibts wohl leider wirklich nicht so bequeme Funktionen wie Informix oder Oracle mit INITCAP bieten. Dieser Link führt zu den String-Funktionen, die SQL Server 2000 so bietet: Microsoft SQL-Referenz Grüße Flori Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 8. Juni 2005 Teilen Geschrieben 8. Juni 2005 Aber leider schreibst Du ja nicht, welches DBMS Du verwendest... @oli83 Sorry, hab Deinen letzten Post wohl nicht ganz so genau unter die Lupe genommen... 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.