Default NLS Datum- und Number Formte |
|
Das folgende dynamisch generierte SQL-Script erstellt ein File, welches für sämtliche NLS-Territories die Default Datum und Number Formate auslistet. Es zeigt die Anwendung der Oracle Character Funktionen REPLACE, CHR und TO_CHAR. Mittels ALTER SESSION wird für jedes Territory das Datum- und Number Format generiert. Im weiteren wird der Group-Separator, das Dezimalzeichen und das lokale Währungssymbol generiert. Die zur Verfügung stehenden Territories werden aus der Tabelle V$NLS_VALID_VALUES gelesen. 1). Statement das generiert werden muss prompt TERRITORY: ALGERIA alter session set nls_territory='ALGERIA'; select ' Date format: ' || sysdate,chr(10), 'Group Separator: ' || replace(replace(to_char(1111,'9G999'),'1',''),' ',''),chr(10), ' Decimal Point: ' || replace(replace(to_char(1.1,'9D9'),'1',''),' ',''),chr(10), ' Example: ' || replace(to_char(1234.123,'9G999D999'),' ',''),chr(10), ' Local currency: ' || replace(replace(to_char(1,'L9'),'1',''),' ',''),chr(10), 'International currency: ' || replace(to_char(1,'C9'),'1',''),chr(10) from dual; Erläuterungen ------------- Format '9G999' liefert Group Separator an spezifizierter Stelle: select to_char(1111,'9G999') from dual; Liefert: " 1,111" Ersetzen aller '1' durch '': select replace(' 1,111','1','') from dual; Liefert: " ," Ersetzen aller ' ' durch '': select replace(' ,',' ','') from dual; Liefert: "," 2). SQL-Script zum dynamischen generieren des obigen Statements -- -- Show NLS default parameters for each territory -- set echo off termout off feed on pages 0 numwidth 10 linesize 80 spool nls_terr.sql select 'set echo off termout off feed off pages 0' || chr(10) || 'spool nls_list.lis' || chr(10) || 'prompt LISTING OF DEFAULT VALUES FOR TERRITORIES' || chr(10) || 'prompt -----------------------------------------' from dual / select 'prompt TERRITORY: ' || value || chr(10) || 'alter session set nls_territory=''' || value || ''';' || chr(10) || 'select '' Date format: '' || sysdate,' || 'chr(10),' || chr(10) || '''Group Separator: ''' || ' || replace(replace(to_char(1111,''9G999''),''1'',''''),'' '',''''),' || 'chr(10),' || chr(10) || ''' Decimal Point: ''' || ' || replace(replace(to_char(1.1,''9D9''),''1'',''''),'' '',''''),' || 'chr(10),' || chr(10) || ''' Example: ''' || ' || replace(to_char(1234.123,''9G999D999''),'' '',''''),' || 'chr(10),' || chr(10) || ''' Local currency: ''' || ' || replace(replace(to_char(1,''L9''),''1'',''''),'' '',''''),' || chr(10) || 'chr(10),' || '''International currency: ''' || ' || replace(to_char(1,''C9''),''1'',''''),' || 'chr(10)' || chr(10) || 'from dual;' || chr(10) from v$nls_valid_values where parameter = 'TERRITORY' order by value / select 'spool off' from dual / spool off @nls_terr.sql 3). Generiertes File LISTING OF DEFAULT VALUES FOR TERRITORIES ---------------------------------------- TERRITORY: ALGERIA Date format: 13-06-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: DZD TERRITORY: AMERICA Date format: 13-JUN-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: $ International currency: USD TERRITORY: AUSTRIA Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: ÖS International currency: ATS TERRITORY: BAHRAIN Date format: 13-06-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: BHD TERRITORY: BANGLADESH Date format: 13-06-1998 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ? International currency: BDT TERRITORY: BRAZIL Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Cr$ International currency: BRC TERRITORY: BULGARIA Date format: 1998-06-13 Group Separator: Decimal Point: . Example: 1234.123 Local currency: ?? International currency: BGL TERRITORY: CANADA Date format: 98-06-13 Group Separator: Decimal Point: , Example: 1234,123 Local currency: $ International currency: CAD TERRITORY: CATALONIA Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: PTA International currency: ESP TERRITORY: CHINA Date format: 13-JUN-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: $ International currency: CNY TERRITORY: CIS Date format: 13.06.98 Group Separator: Decimal Point: , Example: 1234,123 Local currency: ?. International currency: SUR TERRITORY: CROATIA Date format: 13.06.98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: kn International currency: HRK TERRITORY: CYPRUS Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: ? International currency: CYP TERRITORY: CZECH REPUBLIC Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: K¿ International currency: CZK TERRITORY: CZECHOSLOVAKIA Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: K¿s International currency: CSK TERRITORY: DENMARK Date format: 98-06-13 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Kr International currency: DKK TERRITORY: DJIBOUTI Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: DJF TERRITORY: EGYPT Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: EGP TERRITORY: ESTONIA Date format: 13.06.1998 Group Separator: Decimal Point: , Example: 1234,123 Local currency: kr International currency: EEK TERRITORY: FINLAND Date format: 13.06.1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: mk International currency: FIM TERRITORY: FRANCE Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: F International currency: FRF TERRITORY: GERMANY Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: DM International currency: DEM TERRITORY: GREECE Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: ??? International currency: GRD TERRITORY: HONG KONG Date format: 13-JUN-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: $ International currency: HKD TERRITORY: HUNGARY Date format: 98-Jun-13 Group Separator: Decimal Point: . Example: 1234.123 Local currency: Ft International currency: HUF TERRITORY: ICELAND Date format: 13.06.1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: kr. International currency: IKR TERRITORY: INDONESIA Date format: 13-06-1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Rp International currency: IDR TERRITORY: IRAQ Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: IQD TERRITORY: ISRAEL Date format: 13-Jun-1998 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?? International currency: ILS TERRITORY: ITALY Date format: 13-Jun-98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: L. International currency: ITL TERRITORY: JAPAN Date format: 98-06-13 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: \ International currency: JPY TERRITORY: JORDAN Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: JOD TERRITORY: KOREA Date format: 98/06/13 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ? International currency: KRW TERRITORY: KUWAIT Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: KWD TERRITORY: LATVIA Date format: 1998.06.13 Group Separator: Decimal Point: , Example: 1234,123 Local currency: Ls International currency: LVL TERRITORY: LEBANON Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: LBP TERRITORY: LIBYA Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: LYD TERRITORY: LITHUANIA Date format: 1998.06.13 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Lt International currency: LTL TERRITORY: MALAYSIA Date format: 13/06/1998 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: RM International currency: MYR TERRITORY: MAURITANIA Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: MRO TERRITORY: MEXICO Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: $ International currency: MXP TERRITORY: MOROCCO Date format: 13-06-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: MAD TERRITORY: NORWAY Date format: 13.06.1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Kr. International currency: NOK TERRITORY: OMAN Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: OMR TERRITORY: POLAND Date format: 98/06/13 Group Separator: Decimal Point: , Example: 1234,123 Local currency: z¿ International currency: PLN TERRITORY: PORTUGAL Date format: 98.06.13 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: $ International currency: PTE TERRITORY: QATAR Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: QAR TERRITORY: ROMANIA Date format: 13-06-1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: LEI International currency: ROL TERRITORY: SAUDI ARABIA Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: SAR TERRITORY: SLOVAKIA Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Sk International currency: SKK TERRITORY: SLOVENIA Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: K¿s International currency: CSK TERRITORY: SOMALIA Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: SOS TERRITORY: SPAIN Date format: 13/06/98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Pts International currency: ESP TERRITORY: SUDAN Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: SDP TERRITORY: SWEDEN Date format: 1998-06-13 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: Kr International currency: SEK TERRITORY: SWITZERLAND Date format: 13.06.98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: SF International currency: CHF TERRITORY: SYRIA Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: SYP TERRITORY: TAIWAN Date format: 13-JUN-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: $ International currency: TWD TERRITORY: THAILAND Date format: 13-JUN-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: $ International currency: THB TERRITORY: THE NETHERLANDS Date format: 13-06-98 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: f International currency: NLG TERRITORY: TUNISIA Date format: 13-06-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: TND TERRITORY: TURKEY Date format: 13/06/1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: TL International currency: TRL TERRITORY: UKRAINE Date format: 13.06.1998 Group Separator: Decimal Point: , Example: 1234,123 Local currency: ???. International currency: UAK TERRITORY: UNITED ARAB EMIRATES Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: AED TERRITORY: UNITED KINGDOM Date format: 13-Jun-98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ? International currency: GBP TERRITORY: VIETNAM Date format: 13-06-1998 Group Separator: . Decimal Point: , Example: 1.234,123 Local currency: ¿ International currency: VNd TERRITORY: YEMEN Date format: 13/06/98 Group Separator: , Decimal Point: . Example: 1,234.123 Local currency: ?.?. International currency: YER |