我想以以下格式从 SQL 返回日期 2011-12-DEC、2012-01-JAN、2012-02-FEB、2012-03-MAR 等...
目前我有以下代码,但不认为它是最好的。它也不会在月份前返回 0(即 8 而不是 08)
print CONVERT(VARCHAR(20), DATEPART(yyyy,GETDATE())) + '-'+ CONVERT(VARCHAR(20), DATEPART(mm,GETDATE()))
如果你真的想要 yyyy-mm-mmm 那么你可以像这样得到它(对于 SQL 服务器):
select substring(convert(nvarchar, getdate(), 120), 1, 7)
+ '-' +
substring(upper(datename(mm, getdate())), 1, 3)
对于 SQL Server,类似这样
select convert(varchar(8), getdate(),120)
+ convert(varchar(3),datename(month,getdate()))
好吧,您应该使用格式化程序(例如 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]
会给你 Apr-2006
随意转动它。
DATE_FORMAT
根据您的 RDMS,考虑一个函数等。