date
タイプの列をvarchar
に変換するにはどうすればよいですか?SQL Serverで日付をvarcharに変換する
サンプルデータ:
ENDDATE (DATE TYPE)
'1947-12-01 00-00-00'
要求された結果:
ENDDATE (VARCHAR)
121947
date
タイプの列をvarchar
に変換するにはどうすればよいですか?SQL Serverで日付をvarcharに変換する
サンプルデータ:
ENDDATE (DATE TYPE)
'1947-12-01 00-00-00'
要求された結果:
ENDDATE (VARCHAR)
121947
私が正しく質問を理解していれば、あなたは121947
としての価値'1947-12-01 00-00-00'
のENDDATE
を必要としています。あなたが2012バージョン以上で作業している場合は、以下のクエリ
SELECT RIGHT(MONTH(ENDDATE)*1010000+YEAR(ENDDATE),6)
を使用することができ、あなたはフォーマットを使用することができます。
DECLARE @D as date = '1947-12-01'
SELECT REPLACE(RIGHT(CONVERT(char(10), @d, 103), 7), '/', '') As charValue2008,
FORMAT(@d, 'MMyyyy') as charValue2012
結果:あなたは、行の多くを持っている場合は、別のものを選択したい場合がありますので
charValue2008 charValue2012
121947 121947
は、そのFormat
実行relativley遅いのでご注意ください以前のバージョンについては、いくつかの文字列操作で変換し使用することができますそれを行う方法。
これはintを返すので、char(6)へのキャストでラップする必要があります。 –
Thanx @ZoharPeled、答えを修正しました。 –
もう1つのこと - 10月より前のモチーフの場合、これは5桁の結果を返します。 OPはそれが良いか悪いかを特定しなかった。必要に応じて簡単に修正できます。 –