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 souhaite interroger cette colonne, mais SQL Server doit simplement renvoyer le jour, le mois et l'année - par exemple. 2010 10 27
ou quelque chose comme ça.
Quelles sont les fonctions que je devrais rechercher?
Devrais-je essayer de convertir en un autre type de données de date? Ou simplement le convertir en chaîne?
Regardez CONVERTIR . Le troisiè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
Essaye ça:
print cast(getdate() as date )
Si vous avez besoin du résultat dans un format de date, vous pouvez utiliser:
Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
Outre 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 effectuer une nouvelle conversion en varchar:
declare @myDate date
set @myDate = getdate()
print cast(@myDate as varchar(10))
sortie:
2012-01-17
Avec SQL Server 2005, je voudrais utiliser ceci:
select replace(convert(char(10),getdate(),102),'.',' ')
Résultats: 2015 03 05
Le format de date le plus court mm/jj/aa peut être obtenu avec:
Select Convert(varchar(8),getdate(),1)
Si vous avez un champ date/heure qui donne les résultats suivants: 2018-03-30 08: 43: 28.177
Proposed: et vous voulez changer le date/heure en date pour qu'il ressemble à 2018-03-30
cast(YourDateField as Date)
Pour toutes les versions de SQL Server: dateadd (dd, datiff (dd, 0, getdate ()), 0)
Le champ Date heure d'origine: [Date_Time]
Le converti en Short Date: 'ShortDate'
CONVERT(date, [_Date_Time]) AS 'Short_Date'