Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Problema con una select, maledette date?

    Il problema è questo, ho una stored procedure su un db SQL Server 2000:
    codice:
    ALTER                        PROCEDURE dbo.cmd_ContaStatisticheUniche
    @MeseAnno datetime
    
    AS
    	SELECT Count([DataOra]) Totale
    , CONVERT(varchar(10),[DataOra],103) as DataOraParz--, Unico
    	FROM 
    		Contatore
    	WHERE 
    		datePart(m,(CONVERT(varchar(10),[DataOra],103))) = datePart(m,@MeseAnno)
    		and datePart(yyyy,(CONVERT(varchar(10),[DataOra],103))) = datePart(yyyy,@MeseAnno)
    		and Unico='True'
    --		and Unico is null
    	GROUP BY 
    		CONVERT(varchar(10),[DataOra],103)--, Unico
    	order by 
    		[DataOraParz]
    
    print(@MeseAnno)
    Il problema che mi da errore sulla convert della data, perchè interpreta la data nel formato yyyy/m/d mentre io gli passo la data nel formato d/m/yyyy, dato che non posso cambiare il metodo con cui passo la data, come gli faccio a far capire che il mese non equivale al mio giorno es.:
    01/05/2006 (primo maggio 2006)
    se mi recupero il mese mi dice che stiamo a gennaio.

    Il problema a monte è che sul Db di sviluppo mi funziona mentre in quello di produzione mi da errore, da cosa può dipendere questa differenza??
    Ciao By Peter_Pan...

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Re: Problema con una select, maledette date?

    Originariamente inviato da Peter_Pan
    Il problema a monte è che sul Db di sviluppo mi funziona mentre in quello di produzione mi da errore, da cosa può dipendere questa differenza??
    Potrebbe dipendere dalle impostazioni generali del server su cui hai il db di produzione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    si è quello che ho pensato anche io, ho controllato gli account di accesso e l'utente che uso aveva come lingua predefinita l'inglese, l'ho cambiata in italiano, poi ho controllato le proprietà del mio db e aveva il nome regole di confronto diverso da quello di sviluppo, e l'ho cambiato impostandolo a Latin1_General_Cl_AS così come l'altro Db, che altro devo controllare??
    Altro dubbio, ma quando faccio:
    codice:
    datePart(m,(CONVERT(varchar(10),[DataOra],105)))
    dovrebbe trasformarmi la data nel formato italiano, quindi d/m/yyyy??
    Ciao By Peter_Pan...

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.