2013-05-23 21 views
14

SSISを初めて使用しています。GetDate()を文字列「DD-MM-YYYY」に変換しようとしています。これは私がこれまでに構築した式である:SSIS式:日付を文字列に変換する

(DT_WSTR, 8) DAY(GETDATE()) + "-" + (DT_WSTR, 8) (MONTH(GETDATE()) - 1) + "-" + (DT_WSTR, 8) YEAR(GETDATE()) 

私が持っている問題は、月()で変換月間「23-4-2013」私は二重文字でそれをしたい単一の文字に、日と同じです。それが何月になっても、どうやって二重の文字にするのですか?

答えて

31

SSISのためにあなたが行くことができる:

RIGHT("0" + (DT_STR, 2, 1252) DATEPART("dd" , GETDATE()), 2) + "-" + RIGHT("0" + (DT_STR, 2, 1252) DATEPART("mm" , GETDATE()), 2) + "-" + (DT_STR, 4, 1252) DATEPART("yy" , GETDATE()) 

式ビルダー画面:

Expression builder screen

+0

感謝をスニペットた素晴らしい作品!どのように私はそれから月を引くのですか? – resolver101

+2

月を差し引くには、式の 'GETDATE()'部分を 'DATEADD(" mm "、 - 1、GETDATE())に変更して、それ以外はそのままにしてください。 –

+0

式を「mm-dd-yy」+「.CSV」にするにはどうすればよいですか? – Si8

0

私のように、あなたが式の中GETDATE()を使用すると、一見不合理を持ってしようとしている、場合有効期限(タイプ= datetime)としてSQL Serverにその日付を挿入したいという要求(SSIS/SSDTは非常に多くの作業が進んでいますが、洗練された製品ではありません)ウント仕事に、この表現:

@[User::someVar] = (DT_WSTR,4)YEAR(GETDATE()) + "-" + RIGHT("0" + (DT_WSTR,2)MONTH(GETDATE()), 2) + "-" + RIGHT("0" + (DT_WSTR,2)DAY(GETDATE()), 2) + " " + RIGHT("0" + (DT_WSTR,2)DATEPART("hh", GETDATE()), 2) + ":" + RIGHT("0" + (DT_WSTR,2)DATEPART("mi", GETDATE()), 2) + ":" + RIGHT("0" + (DT_WSTR,2)DATEPART("ss", GETDATE()), 2) 

私は、このコードはHERE

関連する問題