Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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?

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)

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

die tabelle ist schon normalisiert

die tabelle ist schon normalisiert
Und?

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.

3. Normalform liegt vor und ich verwende MS-SQL. Ich werd das ganze jetzt als Applikation lösen. Danke für die Hilfe.

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)

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.

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

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

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...

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.