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
[SQL Server] Problema con le date
venerdì 09 settembre 2005 - 22.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
JAEP
Profilo
| Newbie
4
messaggi | Data Invio:
ven 9 set 2005 - 22:58
Salve,
ho una stored procedure la quale accetta i seguenti parametri:
----
@mese as varchar(2),
@anno as varchar(4)
----
Al suo interno ho dichiarato una variabile datetime in questo modo
----
declare @DataFine datetime
----
bene...adesso, se faccio girare la stored su una versione italiana di SqlServer, devo impostare la variabile così:
----
set @DataFine=@giorno + '/' + @mese + '/' + @anno
----
diversamente, su una versione americana, la variabile @DataFine deve essere così costruita:
----
set @DataFine=@anno + '/' +@mese + '/' +@giorno
----
siccome la web application può è essere installata su entrambe le piattaforme, cìè un metodo per evitare l'incoveniente?
Io ho provato così:
----
set @DataFine=@anno+@mese+@giorno
set @DataFine=CONVERT(char(10), @DataFine, 103)
----
ma non ho ottenuto un tubo....
Grazie mille:)
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 10 set 2005 - 08:20
Prova a mettere la data nel formato iso:
YYYY-MM-DDHH:MM:SS
ad esempio oggi 10 settembre 2005
2005-09-10
Oggi alle 8 e 10
2005-09-10080:10
JAEP
Profilo
| Newbie
4
messaggi | Data Invio:
sab 10 set 2005 - 10:35
Ho provato come mi hai detto tu...in questo modo
----
set @DataFine=@anno+'-'+@mese+'-'+@giorno
set @DataFine=CONVERT(char(10), @DataFine, 103)
----
Ho sempre il solito problema...non è che è sbagliato il parametro 103 nella funzione Convert?
Grazie
:)
Cteniza
Profilo
| Guru
1.509
messaggi | Data Invio:
sab 10 set 2005 - 11:07
Per il formato che ti ho suggerito secondo me dovresti provare con 126
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 12 set 2005 - 10:33
>siccome la web application può è essere installata su entrambe
> le piattaforme, cìè un metodo per evitare l'incoveniente?
>
>Io ho provato così:
>
>----
>set @DataFine=@anno+@mese+@giorno
>set @DataFine=CONVERT(char(10), @DataFine, 103)
>----
>
>ma non ho ottenuto un tubo....
Ciao JAEP,
utilizza il formato ISO YYYYMMDD senza alcun separatore concatenando le varie stringhe.
Se @Datafine è dichiarata come datetime o smalldatetime non è necessario effettuare alcun cast esplicito mediante le funzioni CAST o CONVERT dato che SQL Server effettuerà automaticamente un cast implicito da varchar a datetime (o smalldatetime).
Per maggiori info leggi il seguente Tip:
http://www.dotnethell.it/tips/SQLServerDates.aspx
>Grazie mille:)
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !