1
我以字符串格式11-09-2013
以dd-mm-yyyy
格式從JSP傳遞日期。我的查詢是:將dd-mm-yyyy字符串轉換爲日期
select convert(varchar(10),'11-09-2013',106)
但它不給我預期的輸出,這就是:
11-SEP-2013
我以字符串格式11-09-2013
以dd-mm-yyyy
格式從JSP傳遞日期。我的查詢是:將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
然而,這轉換爲字符串等非常昂貴。爲什麼你需要這種輸出格式,它到底在哪裏?如果這是在客戶端展示的,那麼在客戶端使用字符串格式化功能會更好。
爲什麼不通過一個標準的格式,如從JSP的yyyymmdd?或者只是傳遞一個日期而不是一個字符串? –
最好避免使用'dd-mm-yyyy'格式,並選擇更通用的'yyyymmdd' – whytheq