2011-08-01 4 views
1

を使用しているとき、私は、MySQLでのトラブル変換/編集日付を持っています、私は私の問題を示す場合、おそらく最も簡単なこと異なる結果を与えますそして、理にかなってSQLは、日付/文字

Jun 18 2011 12:00AM 

...

INPUT:

declare @from_dattim2 datetime 

set @from_dattim2 = (select dateadd(day,-30,'2011-07-18')) 

print @from_dattim2 

select convert (datetime, @from_dattim2, 121) 

OUTPUT:

2011-06-18 00:00:00.000 

これは私が私が私の変数を設定しようとすると、しかし、動作していないようしたい出力されます:

INPUT:

declare @from_dattim2 datetime 

set @from_dattim2 = (select dateadd(day,-30,'2011-07-18')) 

set @from_dattim2 = convert (datetime, @from_dattim2, 121) 

出力:

Jun 18 2011 12:00AM 

6月18日などではなく、yyyy-mm-ddなどの形式に変数を設定する方法はありますか?

答えて

1

変換では、datetimeが別の方法で格納されることはありません。出力時のフォーマットにのみ影響します。

datetimeをデータとして保存するだけで済みます。データを選択すると、convert()を目的の書式に設定するとデータが保存されます。

+0

アハー私が見る、これは理にかなっている!唯一の問題は、後でそれを何度も参照できるようにするための変数として欲しいということです。これは明らかに可能ですが、かなり長い間巻き込まれています。どっしりとしたアイデア? - 助けてくれてありがとう! – chris

+0

テーブルの上にビューを作成してみてください。日付カラムではなく、 'convert(...)as date'を使用します。あるいは、関数 'fnFormattedDate'を作成し、日付をvarcharとして返すようにして、目的のフォーマットに変換することができます。 –

+0

私は毎晩リフレッシュされる1日前のコピーを使って作業するため、プロダクション環境でビューまたは機能を作成させることを複数の人に納得させる必要があるので、さらに長い間巻き込まれることを恐れています。最も参考になった参考になった参考になった:0件回答日時:あなたの助けをたくさんありがとう - それは知っておくと便利です! – chris

関連する問題