2017-07-27 3 views
1

J'essaie d'envoyer un fichier qui a été créé et envoyé en tant qu'e-mail en utilisant "exec master..sp_sendSAM" dans un flux SSIS 2005.Obtenir le format de la date en tant que Test_170727_1608.txt.gpg

C'est ce que j'ai essayé

'Test_'+ convert(varchar(12), getdate(), 12)+'.txt.gpg' = Test_170727.txt.gpg 
'Test_'+ convert(varchar(12), getdate(), 105)+'.txt.gpg' = Test_27-07-2017.txt.gpg 
'Test_'+ convert(varchar(24), getdate(), 113)+'.txt.gpg' = Test_27 Jul 2017 17:25.txt.gpg 

Mais je veux vraiment est = Test_170727_1608.txt.gpg

Quelqu'un peut-il me aider à cette s'il vous plaît que je semble peu coincé. merci

Répondre

1
select 'Test_' 
    + right(datepart(yy,GETDATE()),2) 
    + RIGHT('0' + cast(datepart(m,getdate()) as varchar(2)),2) 
    + RIGHT('0' + cast(datepart(d,getdate()) as varchar(2)),2) 
    + '_' 
    + RIGHT('0' + cast(datepart(HOUR,getdate()) as varchar(2)),2) 
    + RIGHT('0' + cast(datepart(mi,getdate()) as varchar(2)),2) 
    + '.txt.gpg' 
+0

Merci Keith cela fonctionne bien à mon code je l'ai enveloppé correctement cette fois avec TSQL et a couru parfait. Merci – YJG

2

Vous ne pouvez pas l'obtenir avec un converti, mais vous pouvez avec deux:

DECLARE @D as datetime 
SET @D= GETDATE(); 

SELECT 'Test_' + 
     CONVERT(char(6), @D, 12) +'_'+ 
     REPLACE(CONVERT(char(6), @D, 14), ':', '') + 
     '.txt.gpg' 

Résultat: Test_170727_0946.txt.gpg

+0

Cela me donne une erreur « Impossible d'attribuer une valeur par défaut une variable locale. " – YJG

+0

Désolé, je n'ai pas remarqué que c'est en 2005. Edited my answer. –

+0

Je suis sûr que c'est une bonne réponse. J'aime juste être simple, donc je n'ai pas besoin de google mon propre code! – KeithL