Sto usando MS SQL Server 2008, e in una tabella ho l'id di colonna come data ma nel formato intero. Ma nella query lo voglio nel formato data. È possibile convertire la data intera in formato datetime appropriato?Come convertire int in data in SQL Server 2008
risposta
Non è possibile convertire un valore intero direttamente a una data, ma è possibile un primo momento ad un datetime poi ad un tipo di data
select cast(40835 as datetime)
e poi convertire in una data (SQL 2008)
select cast(cast(40835 as datetime) as date)
applausi
basta rileggere la tua domanda, se vuoi come data quindi basta selezionare cast (40835 come datetime) – davey
Molto probabilmente desidera esaminare la documentazione per CAST di T-SQL e CONVERT funzioni, che si trova nella documentazione qui: http://msdn.microsoft.com/en-US/library/ms187928(v=SQL.90).aspx
Sarà quindi utilizzare una di queste funzioni nella query T-SQL per convertire la colonna [idate] dal database nel formato datetime di tuo gradimento nell'output.
dovete convertire prima in datetime, poi a d mangiò.
Prova questa, potrebbe essere utile:
Select Convert(DATETIME, LEFT(20130101, 8))
poi convertire fino ad oggi.
Leggere questo aiuta a risolvere un problema simile. I dati sono in formato dati decimali - [DOB] [decimal] (8, 0) NOT NULL - ad es. - 19700109. Voglio arrivare al mese. La soluzione è combinare SUBSTRING con CONVERT in VARCHAR.
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]
Se il vostro intero è timestamp in millisecondi uso:
SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
Sarà formattare millisecondi a stringa aaaa-mm-gg.
La domanda riguarda MS SQL Server che non ha alcuna funzione 'strftime' (che credo sia una funzione SQLite?) – jpw
- 1. Come convertire Varchar in Int in SQL Server 2008?
- 2. conciliano campi data e ora per DateTime, SQL Server 2008
- 3. Come eseguire l'impaginazione in SQL Server 2008
- 4. Inserire dati UTF8 in SQL Server 2008
- 5. Come convertire int * in int
- 6. Convertire lo script MySQL in SQL Server
- 7. Come convertire il formato della data di sistema in gg/mm/aa in SQL Server 2008 R2?
- 8. come avere un doppio ciclo while in sql server 2008
- 9. SQL Server 2008: l'ordine per data/ora è troppo lento
- 10. SQL Server 2008 Generare una serie di tempi di data
- 11. SQL Server: conversione varchar in INT
- 12. Converti Data SQL Server in mm-aaaa
- 13. Modifica nome colonna in SQL Server 2008
- 14. Confronto di temporizzazione in SQL Server 2008
- 15. Utilizzando PIVOT in SQL Server 2008
- 16. Impossibile creare sequenza in SQL Server 2008
- 17. Scorrere le righe in SQL Server 2008
- 18. Unisci due tabelle in SQL Server 2008
- 19. Loop Join in SQL Server 2008
- 20. Case e conteggi in SQL Server 2008
- 21. Ricerca guasti deadlock in Sql Server 2008
- 22. Come convertire un numero intero (orario) in HH: MM: SS :: 00 in SQL Server 2008?
- 23. Errore di registrazione in SQL Server 2008
- 24. Come si converte un file .mdf di SQL Server 2008 in SQL Server 2012?
- 25. Come utilizzare in modo efficiente LOCK_ESCALATION in SQL Server 2008
- 26. Ottenere la data corrente in SQL Server?
- 27. Data seriale in SQL?
- 28. Problema con estrazione data in SQL Server
- 29. data di sql convertire in formato stringa
- 30. Come convertire l'array int in int?
Quando dici di avere una data in formato intero, cosa intendi esattamente: qual è il formato? – condiosluzverde
davey è corretto. 'DATEADD (DAY, 40835, '1900-01-01')' è leggermente più veloce nei test che ho eseguito. –