1

我正在以JSP格式传递字符串格式11-09-2013的日期。dd-mm-yyyy我的查询是:

select convert(varchar(10),'11-09-2013',106)

但它没有给出我预期的输出,即:

11-SEP-2013
4

1 回答 1

0
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

但是,像这样转换为字符串等可能非常昂贵。为什么你需要这种输出格式,它在哪里?如果这是在客户端显示的,那么最好在客户端使用字符串格式化功能。

于 2013-09-26T13:20:05.450 回答