85 votes

Convertir un datetime SQL Server en un format de date plus court

J'ai une colonne datetime dans SQL Server qui me donne des données comme celle-ci 10/27/2010 12:57:49 pm et je veux interroger cette colonne mais je demande juste à SQL Server de renvoyer le jour mois et année - par exemple. 2010 10 27 ou quelque chose comme ça.

Quelles sont les fonctions que je devrais rechercher?

Dois-je essayer de convertir un autre type de données de date? Ou simplement le convertir en chaîne?

129voto

AdaTheDev Points 53358

Jetez un oeil à CONVERT . Le 3ème paramètre est le style de date-heure que vous souhaitez convertir.

par exemple

 SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format
 

60voto

jabu.hlong Points 91

Essaye ça:

print cast(getdate() as date )

16voto

Israel Margulies Points 1713

Si vous avez besoin du résultat dans un format de date, vous pouvez utiliser:

 Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
 

11voto

CD Jorgensen Points 866

En plus de CAST et CONVERT, si vous utilisez Sql Server 2008, vous pouvez convertir en un type de date (ou utiliser ce type pour commencer), puis éventuellement reconvertir en varchar:

 declare @myDate date
set @myDate = getdate()
print cast(@myDate as varchar(10))
 

production:

 2012-01-17
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X