我正在以JSP格式传递字符串格式11-09-2013
的日期。dd-mm-yyyy
我的查询是:
select convert(varchar(10),'11-09-2013',106)
但它没有给出我预期的输出,即:
11-SEP-2013
我正在以JSP格式传递字符串格式11-09-2013
的日期。dd-mm-yyyy
我的查询是:
select convert(varchar(10),'11-09-2013',106)
但它没有给出我预期的输出,即:
11-SEP-2013
DECLARE @d CHAR(10) = '11-09-2013'; -- dd-mm-yyyy
SELECT UPPER(REPLACE(CONVERT(CHAR(11), CONVERT(DATETIME, @d, 103), 106), ' ', '-'));
-- if 2008+ you can use DATE instead:
SELECT UPPER(REPLACE(CONVERT(CHAR(11), CONVERT(DATE, @d, 103), 106), ' ', '-'));
-- if 2012 you can use:
SELECT UPPER(FORMAT(CONVERT(DATE, @d, 103), 'dd-MMM-yyyy'));
结果在所有三种情况下:
11-SEP-2013
但是,像这样转换为字符串等可能非常昂贵。为什么你需要这种输出格式,它在哪里?如果这是在客户端显示的,那么最好在客户端使用字符串格式化功能。