J'ai besoin de la date comme ddmmyyyy
sans aucun espaceur.
Comment puis-je faire ceci?
Je peux obtenir yyyymmdd
en utilisant CONVERT(VARCHAR, [MyDateTime], 112)
Mais j'ai besoin de l'inverse.
SQL Server 2008
CONVERT
le style 103 est jj/mm/aaaa. Utilisez ensuite la fonction REPLACE
pour éliminer les barres obliques.
SELECT REPLACE(CONVERT(CHAR(10), [MyDateTime], 103), '/', '')
Pour mémoire, depuis SQL 2012, vous pouvez utiliser FORMAT , aussi simple que:
SELECT FORMAT(GETDATE(), 'ddMMyyyy')
(la question op est spécifique à SQL 2008)
SELECT REPLACE(CONVERT(VARCHAR(10), THEDATE, 103), '/', '') AS [DDMMYYYY]
Comme vu ici: http://www.sql-server-helper.com/tips/date-formats.aspx
Je le fais comme ça depuis des années;
print convert(char,getdate(),103)
J'ai trouvé un moyen de le faire sans remplacer les barres obliques
select CONVERT(VARCHAR(10), GETDATE(), 112)
Cela retournerait: "YYYYMMDD"
select replace(convert(VARCHAR,getdate(),103),'/','')
select right(convert(VARCHAR,getdate(),112),2) +
substring(convert(VARCHAR,getdate(),112),5,2) +
left(convert(VARCHAR,getdate(),112),4)