我想按以下格式從SQL返回日期2011-12-DEC,2012-01-JAN,2012-02- FEB,2012-03-MAR等...以mm-mm-yyyy在SQL中編寫日期的最佳方法是什麼
目前我有下面的代碼,但不認爲這是最好的。它也不會在一個月前返回一個0(即8,而不是08)
print CONVERT(VARCHAR(20), DATEPART(yyyy,GETDATE())) + '-'+ CONVERT(VARCHAR(20), DATEPART(mm,GETDATE()))
我想按以下格式從SQL返回日期2011-12-DEC,2012-01-JAN,2012-02- FEB,2012-03-MAR等...以mm-mm-yyyy在SQL中編寫日期的最佳方法是什麼
目前我有下面的代碼,但不認爲這是最好的。它也不會在一個月前返回一個0(即8,而不是08)
print CONVERT(VARCHAR(20), DATEPART(yyyy,GETDATE())) + '-'+ CONVERT(VARCHAR(20), DATEPART(mm,GETDATE()))
對於SQL Server,像這樣
select convert(varchar(8), getdate(),120)
+ convert(varchar(3),datename(month,getdate()))
考慮一個DATE_FORMAT
功能等,這取決於你的關係數據庫管理系統。
那麼, 你應該使用格式化程序(例如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
只是圍着它轉,只要你喜歡要求。
對於Oracle使用TO_CHAR和日期格式。對於實施例
SELECT TO_CHAR(SYSDATE, 'YYYY-DD-MON') FROM DUAL
有一個寬範圍的可能的日期格式字符串 參見here的。
如果你真的想YYYY-MM-MMM,那麼你可以把它像這樣(對於SQL Server):
select substring(convert(nvarchar, getdate(), 120), 1, 7)
+ '-' +
substring(upper(datename(mm, getdate())), 1, 3)
哪個RDBMS做你用? –