View Full Version : [SQL] Problema select sulle DATE
@GuyBrush@
19-01-2004, 15:41
Salve gente! :D
Ho questo problemone con SQL (mssql).
Se in sql faccio un
... datepart(mm,data) ...
Se il mese è <10 me lo scrive con 1 cifra sola.
Pertanto :
GENNAIO = 1 (dovrebbe essere 01)
NOVEMBRE = [11]
Come faccio x far scrivere i mesi prima di ottobre con lo ZERO davanti??
La data è scritta correttamente (es. 12/01/2004) , ma quando fa il datepart fa questa robaccia.... :muro:
Prova a mettere Format(data,"00,00,0000")
@GuyBrush@
19-01-2004, 15:47
se lo faccio in sql così
SELECT Format(created_on, [00,00,0000]) AS Expr1
FROM accounts
Dice che non riconosce format come funzione :(
Che SQL usi..quelle di access?
Cmq il formato va messo sotto "00/00/0000" non [00,00,0000]
@GuyBrush@
19-01-2004, 16:02
Sql server 2000 ...
Io uso questo "trucchetto".
Utilizzo la funzione CONVERT per farmi restituire una data formattata 'mm.dd.yyyy' e poi recupero i primi 2 caratteri verso sinistra della data e ciòè 'mm'
Es: se vuoi una formattazione 'mm' per una data basa scrivere:
SELECT LEFT(CONVERT(varchar, DATA, 1), 2) FROM TABELLA
- Ho cercato un alto modo ma la funzione convert non formatta secondo 'mm' e la DATEPART restituisce dei valori numerici.
;)
@GuyBrush@
20-01-2004, 17:34
ci speravo anche io... ma se faccio convert(varchar,datepart(mm,data)) mi restituisce le prime 2 lettere del mese (es. JA) anzikè il numero :( :( :(
Non ho capito cosa vuoi dire.
Se utilizzi la sintassi LEFT(CONVERT(varchar, DATA, 1), 2) ottieni già devi valori numerici dei mesi!!!!
Esempio :
Data = 20/01/2004 [dd/mm/yyyy]
CONVERT(varchar, Data, 1) = 01.20.2004
LEFT(CONVERT(varchar, DATA, 1), 2) = 01 ... ed infatti 01 corrisponde a Gennaio.
prova anche a controllare le impostazioni internazionali del server, dovresti poter settare da li anceh qualcosa.
prova anche a fare la query da una vista e vedere come formatta lui la data...
p.s. io ormai le date si sql server non le utilizzo piu, sono sempre un casino .. meglio 1AAMMGG :P
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.