47 messaggi dal 19 luglio 2004
Ciao a tutti

sto cercando di salvare la data e l'ora in DB SQL server 2000, il problema e che non riesco a convertire il dato che avrebbe questa forma gg/mm/aaaa hh.mm.ss per poi salvarlo nel DB, infatti visualizzo questo errore

Tipo di errore:
Microsoft OLE DB Provider for SQL Server (0x80040E07)
La conversione del tipo di dati da char a datetime ha generato un valore di tipo datetime non compreso nell'intervallo di valori validi.

come faccio a convertire il dato in datetime x salvarlo nel DB ????

GRAZIE MILLE A TUTTI.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
moto5alex ha scritto:
Ciao a tutti

sto cercando di salvare la data e l'ora in DB SQL server 2000, il problema e che non riesco a convertire il dato che avrebbe questa forma gg/mm/aaaa hh.mm.ss per poi salvarlo nel DB, infatti visualizzo questo errore

Tipo di errore:
Microsoft OLE DB Provider for SQL Server (0x80040E07)
La conversione del tipo di dati da char a datetime ha generato un valore di tipo datetime non compreso nell'intervallo di valori validi.

come faccio a convertire il dato in datetime x salvarlo nel DB ????

GRAZIE MILLE A TUTTI.

ti consiglio di leggere l'articolo dell'MVP SQL Server Lorenzo Benaglia, liberamente consultabile presso http://www.dotnethell.it/tips/SQLServerDates.aspx , che riporta informazioni preziose circa l'utilizzo delle date...
come ben sai la "formattazione" delle stesse dipende dal contesto linguistico della login corrente e/o dalle impostazioni correnti a livello di SET DATEFORMAT...
puoi benissimo valutare il risultato del sequente script
-- SET LANGUAGE 'italiano'
-- SET LANGUAGE 'english'

SET DATEFORMAT ymd
DECLARE @dt datetime, @v varchar(19)
SET @v = '2005-11-14 18:05:01'
SELECT @dt = @v
SELECT @dt AS [impostazione ISO]

SELECT @dt = NULL
SET @v = '14/11/2005 18:05:01'
SELECT @dt = @v
SELECT @dt AS [Localizzata]

SET DATEFORMAT dmy
SELECT @dt = NULL
SET @v = '14/11/2005 18:05:01'
SELECT @dt = @v
SELECT @dt AS [Localizzata]

le mie login hanno solitamente l'impostazione inglese, quindi l'iniziale SET DATEFORMAT ymd non e' importante, ma comunque devi valutare correttamente il contesto di esecuzione..
per non sbagliare mai e non dover dipendere dalle impostazioni locali della login, utilizza sempre il formato ISO
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.