35 messaggi dal 04 gennaio 2008
Buongiorno a tutti...

ho un problema banale. Ho una tabella in cui è presente un campo di tipo datetime. Ho la necessità di estrarre il mese nel formato MM (quindi 01 per gennaio, 02 per febbraio e così via).
Ho provato con datepart ma non ci sono riuscito...vorrei evitare soluzioni ferraginose utilizzando il "select case" tipo "se il mese è minore di 10 allora appiccicaci lo '0' davanti.

Qualche idea?

ps. Utilizzo Sql Server 2005

grazie
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
roska2184 wrote:
Buongiorno a tutti...

ho un problema banale. Ho una tabella in cui è presente un campo di tipo datetime. Ho la necessità di estrarre il mese nel formato MM (quindi 01 per gennaio, 02 per febbraio e così via).
Ho provato con datepart ma non ci sono riuscito...vorrei evitare soluzioni ferraginose utilizzando il "select case" tipo "se il mese è minore di 10 allora appiccicaci lo '0' davanti.

Qualche idea?

ps. Utilizzo Sql Server 2005

la funzione DATEPART restituisce un intero e, essendo lo 0 non significativo, non viene ovviamente restituito..
devi quindi per forza di cose ottenere non gia' un intero bensi' la sua rappresentazione testuale, una stringa, e quindi il compito farraginoso ovviamente e' necessario.. puoi quindi fare il pad del risultato di DATEPART con uno "0" (stringa) a destra e ritornarne il RIGHT(,2), ovvero estrarre direttamente il testo dalla formattazione della data come ad esempio SELECT SUBSTRING(CONVERT(varchar( , GETDATE(),112), 5, 2)
ma ovviamente sempre di testo e non numeri si parla..
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.