2017-07-27 4 views
1

作成したファイルを添付して送信しようとしましたが、SSIS 2005のフローで「exec master..sp_sendSAM」を使用して電子メールで送信しています。日付形式をTest_170727_1608.txt.gpgとして取得

これは私が

'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 

を試みたものです。しかし、私が実際にしたいが、誰かが私は少しこだわっているようだと私はこの喜ばせるために得るのを助けることができます= Test_170727_1608.txt.gpg

です。おかげ

答えて

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

これはTSQLで正しくラップして完璧に動作しました。ありがとう – YJG

2

あなたは1回の変換でそれを得ることはできませんが、次の2つでできる:

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

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

結果:これは私にデフォルト値を割り当てることができません」というエラーを与えているTest_170727_0946.txt.gpg

+0

ローカル変数。 " – YJG

+0

申し訳ありませんが、2005年のことを気付かなかった。私の回答者を編集しました。 –

+0

これは良い答えだと確信しています。私はまっすぐ進むのが好きなので、私自身のコードをグーグルで行う必要はありません! – KeithL