0

2つの質問があります。たとえば、すべてのデータを含むテキストファイルがありSply_DTますImprt_DT

Sply_Dt作成する必要があり、を使用getdate()するようにフォーマットしていますが、としてフォーマットする必要があります。2012-10-25 12:04:16.09900000(DT_DBTIMESTAMP)(DT_DBDATE)GETDATE()MM-DD-YY

そして、Impt_DTの場合、それ5/16/2011はdataviewerの形式ですが、テーブルに配置すると、次のよう2011-05-16 00:00:00.000になり、MM-DD-YY形式が必要です。

4

3 に答える 3

2

日時のデータ型について混乱していると思います。ロケールが米国(mm / dd / yyyy)、日本(yy / mm / dd)、英国(dd / mm / yyyy)のいずれであるかは関係なく、常に内部形式で保存されます。

デフォルトの表示が気に入らない場合は、SET DATEFORMATを調べることができます。おそらく、それはクエリにとって意味があります。

データをクエリして目的の形式にするときに、適切なCONVERT形式を適用することもできます。

DECLARE @datevar datetime = '2012-10-25'
SELECT CONVERT(char(10), @datevar, 10) AS YourFomat, @datevar AS defaultFormat

私があなたの質問を誤解した場合は、明確にしてください。

于 2012-10-25T18:29:36.760 に答える
0

派生列コンポーネントを使用してこれを行う簡単な方法は、次のようになります(MM-DD-YY形式の場合)。

LEN((DT_WSTR、2)MONTH(GETDATE()))== 1?"0" +(DT_WSTR、2)MONTH(GETDATE())):( DT_WSTR、2)MONTH(GETDATE()))+ "-" + LEN((DT_WSTR、2)DAY(GETDATE()))== 1?"0" +(DT_WSTR、2)DAY(GETDATE())):( DT_WSTR、2)DAY(GETDATE()))+ "-" + RIGHT((DT_WSTR、2)YEAR(GETDATE())、2)

于 2012-10-25T22:13:51.130 に答える
-1

私が理解しているように、あなたはテキストファイルからのデータの日時形式を変更することを目指しています。データフロータスクで派生列変換を使用して列を追加するか、既存の列を置き換えることをお勧めします。次に、より一般的な.NET日付演算子を使用し、派生列内の文字列をフォーマットして、最初に日付を解析し、次に変換することができます指定された形式の文字列に変換します。それが機能しない場合は、代わりにデータフロータスクのスクリプトコンポーネントを使用して、説明したことを実行できます。その場合、.NETにアクセスして変更を実行できます。

于 2012-10-25T18:18:16.070 に答える