Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    oracle set nls_date_format

    ciao ragazzi,
    perchè se con la funzione
    alter session set nls_date_format = 'dd/mm/YYYY hh24:mi'
    modifico il formato data della sessione oracle,
    quando faccio la query (uso java, jtable e driver jdbc)
    visualizzo la data nel formato yyyy-mm-dd hh:mm:ss ????
    ho cambiato il formato per poter fare un ordinamento per data, visto che la funzione to_char permette di cambiare il formato in visualizzazione ma non permette il sort corretto.......

    Grazie

    Bye
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Una query non visualizza niente, legge i dati dal database.
    Se tu visualizzi vuol dire che hai fatto qualcosa per visualizzare (dove sei? su una pagina web? su un'applicazione con GUI in java? su una applet?), e visualizzerai, immagino, un oggetto di tipo Date.
    Il formato in cui lo vedi dipende da cosa usi per visualizzarlo, ma siamo già in un campo che non c'entra nulla con i database. E comunque, il formato non c'entra niente nemmeno con l'ordinamento

  3. #3
    Credo tu non abbia letto il mio post, l'applicazione e in java e la visualizzazione è su una jtable....
    Bye
    ....ma i computer non sono tanto macchine quanto strumenti di ampliamento della mente ed un diverso tipo di mezzo espressivo.
    -- Chi si accontenta non gode si illude --

  4. #4
    Ciao,
    il problema nasce dal fatto che ad ogni connessione (client, java, ecc) dovresti, prima di effettuare le varie operazioni (select, upda...), eseguire il comando da te indicato. Anche se utilizzassi il comando:

    alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;

    ogni client al login sovrascriverebbe la configurazione.

    Quindi le soluzioni sono due:
    1. crei un trigger su logon (CREATE OR REPLACE TRIGGER TRG_LOGIN AFTER LOGON ON DATABASE) che cambia la configurazione alla sessione

    2. fai una select dove visualizzi il tuo formato preferito, ma nell'order by metti la data. Es:
    SELECT TO_CHAR (SYSDATE, 'DD-MM-YYYY') FROM DUAL
    ORDER BY SYSDATE

    Ciao
    Mik

  5. #5

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.