2017-05-05 6 views
0

私はdtsxパッケージを作成したので、別のSQLサーバ上のテーブルにデータを挿入しています dd-mm-yyyyフォーマットのデータが必要ですそして、私は希望の形式に日付を変換するために、クエリの下に使用しています
SSMSでクエリを実行定義されたフォーマットのテーブルに日付が挿入されない

Convert(varchar,dbo.Member.DateOfBirth,105) 

、それは'25のように完全に変換されたデータ-08-1989' を与えるが、私は挿入後に送信先テーブルにそれを確認するとき、それは日付を '1989-08-25'として表示します
誰かが、宛先テーブルが、dd-mm-yyyy形式で日付を受け入れない理由を伝えることができますrsion?
私は....書式設定ミスのため申し訳ありませんが、ここに新しいです

+1

日付を特定の形式でデータベースに保存しません(varcharフィールドは使用しないでください)。適切なデータ型(date、datetime2など)に格納し、フロントエンドで書式設定します。 –

+0

@保存するときにフォーマットが動作しません。使用するときに変換する必要がありますか? –

+0

はい、データはバイナリ形式で保存され、書式は含まれません。あなたは他の場所でそれを行う必要があります –

答えて

0

あなたはおそらく、いくつかの(存在しない)サーバーの日付書式の日付をフォーマットするクライアントの道を混乱されています。なにもない。すべての日付タイプは、int、float、およびdecimalのようにバイナリ値です。 クライアントは、それらを表示するために文字列にフォーマットします。

SSMSは特殊なクライアントに過ぎません。デフォルトでは、(ユーザーの)ロケールに基づいて日付がフォーマットされます。これにより、同じ日付が1人のユーザーに25/9/2017と表示され、2017年9月25日に別のユーザーに表示されると、混乱する可能性があります。日付はまだ同じですが。

DBAと開発者は、ローカライズされたフォーマットを気にしません。 SSMSは混乱を避けるためにYYYY-MM-DDを使用します。

関連する問題