Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Localizzazione con Oracle?
venerdì 03 dicembre 2010 - 17.30
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Oracle 10g
volperubbia
Profilo
| Senior Member
375
messaggi | Data Invio:
ven 3 dic 2010 - 17:30
Ciao a tutti,
vorrei localizzare delle date o dei numeri e convertili in stringa,
ad esempio:
SELECT
TO_CHAR(SYSDATE, 'Day', 'NLS_DATE_LANGUAGE=ITALIAN'),
TO_CHAR(SYSDATE, 'Day', 'NLS_DATE_LANGUAGE=ENGLISH'),
TO_CHAR(SYSDATE, 'Day', 'NLS_DATE_LANGUAGE=FRENCH')
FROM DUAL;
Per le data funziona, per i numeri esiste qualcosa di analogo?
SELECT
to_char(444945.2463, '99999999d00', 'nls_numeric_characters='', ''')
FROM DUAL;
Con questo ottengo quello che voglio, ma vorrei evitare di passare
da nls_numeric_characters.
Data una lingua è posibile recuperare il valore del corrispondente
nls_numeric_characters con qualche funzione Oracle?
Nel caso del primo esempio con le date, se sono all'interno di una
stored procedure devo passare il parametro lingua o esiste una qualche
funzione Oracle che mi torna quella del thread corrente?
Grazie per l'attenzione,
Davide
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
dom 5 dic 2010 - 11:00
Ciao,
prova a dare un'occhiata a questo link
http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch3globenv.htm#NLSPG003
in base a questo potresti attivare le impostazione desiderate all'attivazione della sessione
mediante l'esecuzione di un
ALTER SESSION SET NLS_TERRITORY = Italy;
piuttosto che
ALTER SESSION SET NLS_TERRITORY = France;
o
ALTER SESSION SET NLS_TERRITORY = America;
da tale impostazione vengono derivati i default di alcune caratterizzazioni,
e fra queste anche il separatore decimale.
Michele
volperubbia
Profilo
| Senior Member
375
messaggi | Data Invio:
dom 5 dic 2010 - 12:18
Ciao Michele, grazie.
Ma usando questo ALTER SESSION, ad esempio dentro una
stored procedure ...
CREATE OR REPLACE PROCEDURE sp_Prova()
IS
BEGIN
ALTER SESSION SET NLS_TERRITORY = Italy;
...
END;
/
la modifica influisce solo al suo interno o influisce anche sulle altre
sessioni utente?
Esempio: aggiungo un parametro p_Language alla sp e poi la chiamo
da codice vb (applicazione web), passandogli la lingua del thread corrente ...
Davide
micto27
Profilo
| Senior Member
385
messaggi | Data Invio:
dom 5 dic 2010 - 12:52
>Ciao Michele, grazie.
>Ma usando questo ALTER SESSION, ad esempio dentro una
>stored procedure ...
l'ALTER SESSION puoi eseguirlo a monte, in un comando separato, all'attivazione della connessione.
L'effetto durerà per tutta la durata della sessione o fino ad un successivo ALTER SESSION e non indicerà sulle altre sessioni.
La procedure che eseguirai utilizzerà quindi le impostazioni della sessione nell'ambito della quale viene
eseguita.
Ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !