我想按以下格式从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做你用? –