web-dev-qa-db-fra.com

Date de retour sous la forme jjmmaaaa dans SQL Server

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

19
Matt

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), '/', '')
36
Joe Stefanelli

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)

13
natenho
SELECT REPLACE(CONVERT(VARCHAR(10), THEDATE, 103), '/', '') AS [DDMMYYYY]

Comme vu ici: http://www.sql-server-helper.com/tips/date-formats.aspx

7
Edgar Velasquez Lim

Je le fais comme ça depuis des années;

print convert(char,getdate(),103)
2
Nick

J'ai trouvé un moyen de le faire sans remplacer les barres obliques

select CONVERT(VARCHAR(10), GETDATE(), 112)

Cela retournerait: "YYYYMMDD"

2
zkojic
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)
1
Nagarajan