|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2003
Città: Monza
Messaggi: 2639
|
[SQL] Problema select sulle DATE
Salve gente!
![]() Ho questo problemone con SQL (mssql). Se in sql faccio un Codice:
... datepart(mm,data) ... 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.... ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prova a mettere Format(data,"00,00,0000")
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2003
Città: Monza
Messaggi: 2639
|
se lo faccio in sql così
Codice:
SELECT Format(created_on, [00,00,0000]) AS Expr1 FROM accounts ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Che SQL usi..quelle di access?
Cmq il formato va messo sotto "00/00/0000" non [00,00,0000]
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2003
Città: Monza
Messaggi: 2639
|
Sql server 2000 ...
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Allora nn c'è Format
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
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. ![]()
__________________
E' quasi tutto relativo! |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2003
Città: Monza
Messaggi: 2639
|
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
![]() ![]() ![]() |
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Aug 2001
Città: Gerenzano
Messaggi: 129
|
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.
__________________
E' quasi tutto relativo! |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 217
|
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 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:26.