Newsgroup: it.comp.software.database
Titolo: separatore orario da . a :  ?!?!  (SQLserver)

In SQLserver i vari campi date mi appaiono con separatore orario "."
(12.00.00)
Come faccio per fare in modo che appaiono con separatore ":"  (12:00:00)
???
(ho cambiato le impostazioni internazionali del server ... gli orari a
livello win sono variati,  ma nel DB ho sempre il ".")
Consigli???

 Consigli???
Ciao YURYSSG,
utilizza la funzione CONVERT per castare l'informazione oraria in una
stringa applicando la formattazione che preferisci:
SELECT CONVERT(char(8), GETDATE(), 108) Ora
GO
/* Output:
Ora
-------- 
14:42:45
(1 row(s) affected)
*/
Per ulteriori dettagli leggi il paragrafo "CAST and CONVERT"
URL:tsqlref.chm::/ts_ca-co_2f3o.htm sui Books Online (Incolla l'URL nella
dialog box che appare selezionando i menu Go, URL...).
Ciao!
-- 
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://mvp.support.microsoft.com
http://italy.mvps.org


Presta attenzione a non fare confusione fra memorizzazione e visualizzazione
di un dato.
Nel database, il campo date è memorizzato con una sequenza di bit, byte,
word, e chi più ne ha più ne metta.
Non è memorizzato con il punto, o i due punti, o la barra, o il trattino,
ecc...
Questi separatori vengono aggiunti dal client che usi per visualizzare i
dati, solamente all'atto della visualizzazione, per comodità umana.
Enterprise Manager, quando visualizzi il contenuto di una tabella, è un
client.
Query Analyzer, è un client.
Un tuo applicativo, è un client.
In generale, un client può decidere di usare i separatori propri del sistema
operativo, oppure di usare un formato fisso, qualunque sia la
localizzazione.
In sostanza, quindi, devi valutare dov'è che vuoi una rappresentazione con
il punto o i due punti.
Se ti serve all'interno di un client che sviluppi tu, ti dovrai occupare di
usare un Format opportuno.
Ciao
Alberto

 ha scritto nel messaggio
news:2qlj3jF...@uni-berlin.de...


 ".").
Può essere, ma non ne sono sicuro, che EM utilizzi un formato fisso, anzichè
leggere ogni volta quello di sistema.
Considerando che il mestiere di EM è quello di consentire l'amministrazione
del sistema, più che quello di intervenire sui dati, non sarebbe neppure
sbagliato avere un funzionamento uguale in tutto il mondo...
Ciao
Alberto

 ha scritto nel messaggio
news:2qlj20F...@uni-berlin.de...


 PC)
Ciao YURYSSG,
una soluzione "quick & dirty" consiste nel formattare le date come stringhe
utilizzando la funzione CONVERT, oppure modificare la lingua di default a
livello di server/connessione.
Leggi attentamente il seguente post:
http://tinyurl.com/qf22
Sicuramente la soluzione migliore consiste nel formattare le date sul client
in base alle regional options impostate utilizzando le istruzioni offerte
dal tuo linguaggio di programmazione.


 forza '12:00:00' :-(
Cambia il formato data a livello di server (ti ho indicato un url nel post
poco sotto).


 forza '12:00:00' :-(
Ma avevi detto che il tuo problema era con la visualizzazione di Enterprise
Manager?
Se invece il problema consiste nella formattazione in Sql da parte di un
client, e soprattutto in fase di scrittura, occorre che tu indichi a
Sql-Server che deve 'interpretare' ciň che viene passato come stringa (nella
stringa Sql), e convertirlo nel valore corretto.
Questa conversione viene effettuata, da Sql-Server, sfruttando le
impostazioni internazionali dell'utente con cui il client si connette. Prova
a cambiare quelle.
In generale, se riesci a intervenire sull'applicativo, modifica in modo da
usare un formato valido indipendentemente dalle impostazioni dell'utente e/o
del server.
Ciao
Alberto

 ha scritto nel messaggio
news:2qll0uF...@uni-berlin.de...


 continuo a vedere nel DB il maledetto "." invece del ":"  :-(
Anche i settaggi dell'utente con cui il tuo app. si connette?
Comunque, c'è qualcosa che mi sfugge del tuo problema.
Cioè, la data che l'applicativo scrive, è giusta o sbagliata?
Cioè, indipendentemente da come il client con cui visualizzi i dati te li
mostra, il valore della data/ora, è giusto?
Se si, non ho proprio capito il problema.
Se no, credo non ci sia altro modo che castrare chi ha scritto la roba, e
tentare modificando le impostazioni del login.
Ciao
Alberto

 continuo a vedere nel DB il maledetto "." invece del ":"  :-(
Ciao YURYSSG,
Hai letto il post che ti ho indicato?
"Per modificare a livello di server la lingua utilizzata da SQL Server, devi
ricorrere alla stored procedure di sistema sp_configure, specificando
"default language" come argomento.
Tieni presente che tale impostazione verrà utilizzata *solo* per le nuove
logins.
Se vuoi modificare l'impostazione di una login esistente, dovrai ricorrere
alla stored procedure di sistema sp_defaultlanguage.
Per maggiori info, leggi i seguenti paragrafi sui Books Online:
"Setting Configuration Options" URL:adminsql.chm::/ad_config_3wmr.htm
"sp_defaultlanguage" URL:tsqlref.chm::/ts_sp_da-di_2tk5.htm
"default language Option" URL:adminsql.chm::/ad_config_3xny.htm"


 ha scritto nel messaggio
news:2qlq9aF...@uni-berlin.de...


 ha scritto nel messaggio
news:2qlqa6F...@uni-berlin.de...


 ha scritto nel messaggio
news:2qlq9aF...@uni-berlin.de...


 Dove lo trovo?
Invece lo sono :-)
Apri i Books Online, menu Go, URL... ed incollale nella dialog box.


 ha scritto nel messaggio
news:2qls0uF...@uni-berlin.de...


 se uso 'giorno 20:00:00' tutto e' OK
Forse non ci capiamo.
Nel fare questa cosa col Query Analyzer, tu ti sei autenticato come login
Pippo.
Bene. Il login Pippo, interagisce con Sql-Server con determinate
impostazioni internazionali.
Prova a giochicchiare con le impostazioni internazionali del login Pippo,
finchè non ne trovi una che ti fa funzionare l'Insert o l'Update.
Poi applica le stesse impostazioni al login con cui si connette
l'applicativo.
E spera che ciò non faccia smettere di funzionare altre 250 funzionalità
dell'applicativo stesso.
Ciao
Alberto


ed invece EM utilizza proprio le impostazioni di sistema, a prescindere
dalla lingua impostata per la login corrente...
prova ad aprire il pannello di controllo, modifica del formato numeri data e
ora, e imposta una formattazione differente.... ho addirittura provato ad
impostare "+" come separatore ora, ed EM risponde correttamente =;-D , ed
ADO di seguito... DbaMgr2k per cui ha un comportamento conforme :-|
=;-D
saluti
-- 
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm
 
http://italy.mvps.org
DbaMgr2k ver 0.9.1  -  DbaMgr ver 0.55.1
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply