どのように私はD-MMM-YYYY
形式でGETDATE()
から文字列を取得することができ、例えば3 May 2016
SQL Serverの - D-MMM-YYYY形式に日付を変換
私はCONVERT(VARCHAR, GETDATE(), 106)
を使用している場合は、私が何をされていない日に先行ゼロになるだろうが欲しいです。
どのように私はD-MMM-YYYY
形式でGETDATE()
から文字列を取得することができ、例えば3 May 2016
SQL Serverの - D-MMM-YYYY形式に日付を変換
私はCONVERT(VARCHAR, GETDATE(), 106)
を使用している場合は、私が何をされていない日に先行ゼロになるだろうが欲しいです。
あなたは2012年以降のSQL Server上にある場合は、FORMAT
使用:
SELECT FORMAT(GETDATE(), 'd MMM yyyy')
編集:は、以下の回答の一部は、間違ったので、私は古いバージョンのためのソリューションを追加しているだけでフラットアウトですSQLサーバー。 2005年は、私が上で私の手を得ることができる最も早い:
SELECT CASE
WHEN CONVERT(varchar(20), GETDATE(), 106) LIKE '0%'
THEN SUBSTRING(CONVERT(varchar(20), GETDATE(), 106), 2, 20)
ELSE CONVERT(varchar(20), GETDATE(), 106)
END
SELECT case when left(convert(varchar(20),[DateColumn],106),1) ='0'
then right(convert(varchar(20),[DateColumn],106),len(convert(varchar(20),[DateColumn],106))-1)
else convert(varchar(20),[DateColumn],106)
end
FROM [DB].[dbo].[Table]
いくつかのサンプル出力:
29 Apr 2016
2 Apr 2016
偉大な......!良い例え。それは私にも役立ちます – Suji
あなたはFORMAT
(SQL Serverの下には2012)を使用することができない場合
DECLARE @date DATE = '20160503'
SELECT REPLACE(DATEPART(DAY, @date),' 0','') + ' ' +
CONVERT(CHAR(3), @date, 0) + ' ' +
CAST(DATEPART(YEAR, @date) AS CHAR(4))
あなたのソリューションは '2020年5月30日'を '2016年5月3日 'に変換します。また、 'CAST(GETDATE()AS CHAR(3))'があなたに月の名前を与えるという保証はありません。 'GETDATE()'を 'date'(' datetime'ではなく)変数に置き換えてみてください。 –
@CodeDifferent答えを更新しました。 '20160530'で試してみることもできます – sqluser
データが表示されているフロントエンドクライアントでフォーマットします。 SQLの終わりでそれをしないでください – Squirrel
データベースで日付をフォーマットしようとしているのを慎重に検討してください。それはほとんど常に悪い考えや誤解です。 –