2016-04-05 3 views
-2

Ich verwende eine Textfeldeingabe für den Student Name-Eingabe. Wie kann ich das erste Zeichen jedes Wortkapitals automatisch umwandeln?Konvertieren Sie das erste Zeichen von jedem Wort Großbuchstaben in Eingabe in Oracle-Formular

+2

[INITCAP] (https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions065.htm) könnte dazu beitragen, – Aleksej

+1

Was halten Sie von einem Wort bedeuten? Sollte "O'brien" O'brien oder O'Brien sein? Wird 'Mary-Anne' in' Mary-Anne' oder 'Mary-Anne' umgewandelt? Oder auch "McDonald" - sollte es nicht "McDonald" und nicht "McDonald" sein? – MT0

Antwort

3

Von Oracle documentation:

INITCAP char, mit dem ersten Buchstaben jedes Wortes zurück in Großbuchstaben, alle anderen Buchstaben in Kleinbuchstaben. Wörter werden durch Leerzeichen oder Zeichen, die nicht alphanumerisch sind, begrenzt.

SELECT INITCAP('the soap') "Capitals" FROM DUAL; 

Capitals 
--------- 
The Soap 

Natürlich INITCAP hat seine eigenen Regeln, so dass Sie müssen überprüfen, ob sein Verhalten Ihren Bedarf passt; Anhand von Beispielen der MT0:

SQL> with test(text) as (
    2 select 'o''brien' from dual union all 
    3 select 'mary-anne' from dual union all 
    4 select 'mcdonald' from dual 
    5 ) 
    6 select text, initcap(text) 
    7 from test; 

TEXT  INITCAP(T 
--------- --------- 
o'brien O'Brien 
mary-anne Mary-Anne 
mcdonald Mcdonald 
+0

Genau genommen gibt INITCAP den gleichen Datentyp zurück wie seine Eingabe (die vom "Zeichentyp" sein muss - CHAR, VARCHAR2, CLOB, etc.) – mathguy

Verwandte Themen