J'utilise MS SQL Server 2008, Et dans un tableau, j'ai la colonne idate comme date mais au format entier . date entière au format date/heure approprié?
Vous ne pouvez pas convertir une valeur entière directement en une date, mais vous pouvez d’abord la convertir en un datetime puis en un type de date.
select cast(40835 as datetime)
puis convertir en date (SQL 2008)
select cast(cast(40835 as datetime) as date)
à votre santé
Vous devez d'abord le convertir en date/heure, puis en date.
Essayez ceci, cela pourrait être utile:
Select Convert(DATETIME, LEFT(20130101, 8))
puis convertir en date.
Vous souhaiterez probablement examiner la documentation des fonctions CAST et CONVERT de T-SQL, située dans la documentation ici: http://msdn.Microsoft.com/en-US/library/ms187928(v=SQL .90) .aspx
Vous utiliserez ensuite l'une de ces fonctions dans votre requête T-SQL pour convertir la colonne [idate] de la base de données au format date-heure de votre choix dans la sortie.
Si votre entier est timestamp en millisecondes, utilisez:
SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
Il formatera des millisecondes en chaîne aaaa-mm-jj.
Lire ceci aide à résoudre un problème similaire. Les données sont en type de données décimal - [DOB] [décimal] (8, 0) NON NULL - par exemple - 19700109. Je souhaite obtenir le mois La solution consiste à combiner SUBSTRING avec CONVERT to VARCHAR.
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]