varchar のような列 exit_date が5/21/2008 0:00
あり、それを のような文字列に更新する必要がありますYYYYMMDD
。それを行う方法はありますか?
5/21/2008 0:00 ==> 20080521
1/1/2007 0:00 ==> 20070101
のようなことをする方法
select convert('5/21/2008 0:00', 'YYYYMMDD').
varchar のような列 exit_date が5/21/2008 0:00
あり、それを のような文字列に更新する必要がありますYYYYMMDD
。それを行う方法はありますか?
5/21/2008 0:00 ==> 20080521
1/1/2007 0:00 ==> 20070101
のようなことをする方法
select convert('5/21/2008 0:00', 'YYYYMMDD').
CONVERT では、datetime/varchar を両方向に変換するためのスタイルを使用できます。そうは言っても、リストにない形式があります。そして、実際には2つの変換もあります.最初にdatetimeに変換する必要があります.
デフォルトの「us_english」設定を持つ私のローカル SQL インストールでは、これはそのまま使用できます
select convert(datetime, '5/21/2008 0:00')
したがって
select convert(char(8), convert(datetime, '5/21/2008 0:00'), 112)
SET LANGUAGE を使用して一時的に us_english に変更できます
http://www.sql-server-helper.com/tips/date-formats.aspx にアクセスしてください
.Net スタイルのフォーマット マスクを使用して T-SQL で日付変換をサポートする関数をブログに投稿しました。ブログなどをプラグインしようとしているのではなく、コード スニペットを投稿するだけです。
私の機能SELECT dbo.fnc_FormatDate(getdate(), 'YYYYMMDD')
を使用すると、あなたが望むことができます。
http://bitmugger.blogspot.com/2011/07/convert-t-sql-datetime-to-strings-using.html
変換が必要なのがvarchar 列であることを最初は知りませんでした。
したがって、ギドンの回答に対するコメントで述べたように、基本的には次のようにする必要がありますCONVERT(varchar(8), CAST(your_varchar_date AS datetime), 112)
。
値をその場で変換する場合、それを適用する方法のより完全な例を次に示します。
UPDATE your_table
SET exit_date = CONVERT(varchar(8), CONVERT(datetime, exit_date), 112)