SQLから日付を次の形式で返したい2011-12-DEC、2012-01-JAN、2012-02-FEB、2012-03-MARなど...
現在、私は以下のコードを持っていますが、それが最善だとは思いません。また、月の前に0を返しません(つまり、08ではなく8)
print CONVERT(VARCHAR(20), DATEPART(yyyy,GETDATE())) + '-'+ CONVERT(VARCHAR(20), DATEPART(mm,GETDATE()))
Oracleの場合は、TO_CHARと日付のフォーマットを使用します。例えば
SELECT TO_CHAR(SYSDATE, 'YYYY-DD-MON') FROM DUAL
可能な日付形式の文字列にはさまざまなものがあります。ここを参照してください。
SQL Serverの場合、次のようになります
select convert(varchar(8), getdate(),120)
+ convert(varchar(3),datename(month,getdate()))
本当にyyyy-mm-mmmが必要な場合は、次のように取得できます(SQLサーバーの場合)。
select substring(convert(nvarchar, getdate(), 120), 1, 7)
+ '-' +
substring(upper(datename(mm, getdate())), 1, 3)
DATE_FORMAT
RDMSに応じて、機能などを検討してください。
さて、あなたはフォーマッターを使うべきです(例えばAS [DD / MM / YYYY])。http://www.sql-server-helper.com/tips/date-formats.aspxに名前を付ける「月」の要件を含め、それらすべてがここにリストされています 。
SELECT SUBSTRING(CONVERT(VARCHAR(11), GETDATE(), 113), 4, 8) AS [Mon-YYYY]
2006年4月に
好きなように向きを変えてください。