Großgeschriebene Artikelbezeichnungen umwandeln

Anfragen und Lösungen, die per SQL-Script zu lösen sind und von Anwendern entwickelt oder von Dienstleistern zur Verfügung gestellt wurden

Moderator: SYNERPY

Antworten
woeba
Beiträge: 10
Registriert: Mi Mai 13, 2009 5:02 pm

Großgeschriebene Artikelbezeichnungen umwandeln

Beitrag von woeba » Fr Jan 15, 2010 4:48 pm

Hallo zusammen!

Wir hatten in unserem altem ERP alle Artikelbezeichnungen in Großbuchstaben schreiben müssen. Hat jemand eine Idee wie ich auf einfache Weise per SQL alle bis auf den ersten Buchstaben eines Wortes im Artikelbezeichnungsfeld auf lowercase setzen kann?

Beispiel:

SCHRAUBE -> Schraube
SONDER FLANSCH -> Sonder Flansch
SONDER-MUFFE -> Sonder-Muffe

INITCAP() scheint es leider nicht bei Firebird zu geben. :(

VG!
AvERP 2009a
15 User
Echtzeit ab 1.2010
Server: Win2k3 x64 Firebird 1.5.6
Clients: XP und W7

festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: Großgeschriebene Artikelbezeichnungen umwandeln

Beitrag von festus01 » Mo Jan 18, 2010 7:30 am

Hallo woeba,
woeba hat geschrieben: ...
Hat jemand eine Idee wie ich auf einfache Weise per SQL alle bis auf den ersten Buchstaben eines Wortes im Artikelbezeichnungsfeld auf lowercase setzen kann?

Beispiel:

SCHRAUBE -> Schraube
SONDER FLANSCH -> Sonder Flansch
SONDER-MUFFE -> Sonder-Muffe

INITCAP() scheint es leider nicht bei Firebird zu geben. :(

VG!
Das ist ganz einfach:

Die UDF U_PROPERCASE declarieren:

Code: Alles auswählen

DECLARE EXTERNAL FUNCTION U_PROPERCASE
    CSTRING(8191) 
    RETURNS CSTRING(8191) FREE_IT
    ENTRY_POINT 'u_propercase' MODULE_NAME 'FreeAdhocUDF';
Dann ergibt ein

Code: Alles auswählen

select u_propercase('SCHRAUBE') from rdb$database
Schraube

Viel Spaß damit.
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.

REM
Beiträge: 33
Registriert: Di Feb 26, 2008 12:17 pm
Wohnort: 75045 Walzbachtal

Beitrag von REM » Mo Jan 18, 2010 3:30 pm

Hallo festus 01

Klär mich mal auf bitte.
Die Version von woeba beinhaltet bei den UDF bereits F_Propercase.
Wieso benutzt er diese nicht einfach ?
REM Software GmbH - 75045 Walzbachtal
+49 7203 439557
forumsyn@rem2rem.de
www.rem2rem.de

festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Beitrag von festus01 » Mo Jan 18, 2010 4:33 pm

Hallo REM,
REM hat geschrieben:Hallo festus 01

Klär mich mal auf bitte.
Die Version von woeba beinhaltet bei den UDF bereits F_Propercase.
Wieso benutzt er diese nicht einfach ?
hmm, das weiss ich auch nicht.
Ich war mir nicht sicher ob diese Function auf der Datenbank von woeba schon vorhanden ist.
Wenn ja, verstehe ich diesen ganzen Thread nicht :twisted:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.

miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe » Mo Jan 18, 2010 5:37 pm

Vielleicht hat er sie nur noch nicht gefunden :wink: wir hatten damals rund um den Livestart (siehe seine Signatur) auch andere Sorgen, als mal alle UDF's durchzuschauen ...

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3

woeba
Beiträge: 10
Registriert: Mi Mai 13, 2009 5:02 pm

Beitrag von woeba » Di Jan 19, 2010 9:14 am

miboe hat geschrieben:Vielleicht hat er sie nur noch nicht gefunden :wink:
Das wird es wohl gewesen sein :wink:
Mein SQL Wissen basiert bisher nur auf einigen Uni-Skripten. Von "User Defined Funktions" wusste ist bisher noch gar nichts, und war im Netz nur auf INITCAP() als Funktion für diesen Fall gestoßen.

Danke für die schnellen Antworten! Ich werden mir das die Woche mal in Ruhe ansehen.
AvERP 2009a
15 User
Echtzeit ab 1.2010
Server: Win2k3 x64 Firebird 1.5.6
Clients: XP und W7

Antworten