請問日期如何格式化為以下格式?
AUG.20TH 2020
uj5u.com熱心網友回復:
可以去看看convert函式,日期轉字串相應的引數和格式說明uj5u.com熱心網友回復:
找了沒找到,這個對應的格式uj5u.com熱心網友回復:
SELECT CONVERT(VARCHAR(19),GETDATE())如果沒有出現月份的話,可能是因為簡體中文版本的問題吧。
把date的年月日分別取出來處理唄?
uj5u.com熱心網友回復:
可以按下面,不過如果用得多的話,最好是寫成標量函式。select upper(CASE DATEPART(MONTH,GETDATE())
WHEN 1 then 'Jan.'
WHEN 2 THEN 'Feb.'
WHEN 3 THEN 'Mar.'
WHEN 4 THEN 'Apr.'
WHEN 5 THEN 'May.'
WHEN 6 THEN 'Jun.'
WHEN 7 THEN 'Jul.'
WHEN 8 THEN 'Aug.'
WHEN 9 THEN 'Sept.'
WHEN 10 THEN 'Oct.'
WHEN 11 THEN 'Nov.'
WHEN 12 THEN 'Dec.'
END)
+
upper(CASE DATEPART(DAY,GETDATE())
WHEN 1 THEN '1st'
WHEN 2 THEN '2nd'
WHEN 3 THEN '3rd'
ELSE LTRIM(DATEPART(DAY,GETDATE()))+'th'
END)
+' '+
ltrim(DATEPART(YEAR,GETDATE()))
/*
DEC.22TH 2020
*/
uj5u.com熱心網友回復:
IF OBJECT_ID('dbo.Fun_GetEnDateString') IS NOT NULL
DROP FUNCTION dbo.Fun_GetEnDateString
GO
-- =============================================
-- Author: yenange
-- Create date: 2020-12-22
-- Description: 獲取英文日期字串
-- =============================================
CREATE FUNCTION dbo.Fun_GetEnDateString
(
@d DATETIME
)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @r VARCHAR(50);
SET @r=upper(CASE DATEPART(MONTH,@d)
WHEN 1 then 'Jan.'
WHEN 2 THEN 'Feb.'
WHEN 3 THEN 'Mar.'
WHEN 4 THEN 'Apr.'
WHEN 5 THEN 'May.'
WHEN 6 THEN 'Jun.'
WHEN 7 THEN 'Jul.'
WHEN 8 THEN 'Aug.'
WHEN 9 THEN 'Sept.'
WHEN 10 THEN 'Oct.'
WHEN 11 THEN 'Nov.'
WHEN 12 THEN 'Dec.'
END)
+
upper(CASE DATEPART(DAY,@d )
WHEN 1 THEN '1st'
WHEN 2 THEN '2nd'
WHEN 3 THEN '3rd'
ELSE LTRIM(DATEPART(DAY,@d ))+'th'
END)
+' '+
ltrim(DATEPART(YEAR,@d ))
RETURN @r;
END
GO
-------------- 以上為創建函式 -------------
--有了函式,直接獲取就可以了:
SELECT dbo.Fun_GetEnDateString('2020-08-20')
/*
AUG.20TH 2020
*/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/238820.html
標籤:基礎類
