Вы можете конвертировать дату в формат, например
01 Mar 2019 06: 21: 58: 010 Используя преобразование ниже
ВЫБРАТЬ КОНВЕРТ (NVARCHAR (30), GETDATE (), 113)
, но вы не можете напрямую конвертировать, как показано ниже
12 января 2019 года или 1 января 2019 года или 2 февраля 2019 года.
но вы можете добиться этого, используя функцию
CREATE FUNCTION [dbo].[Ufn_GetDateWithSelectedFormat]
(
@Date DATETIME
)
RETURNS NVARCHAR(50)
AS
BEGIN
DECLARE @DateValue NVARCHAR(50) = (SELECT CONVERT(NVARCHAR(50),GETDATE(),113))
DECLARE @OnesPlaceNum INT = (SELECT SUBSTRING(@DateValue,1,2))
SET @DateValue = CASE WHEN (@OnesPlaceNum % 10 = 1 AND @OnesPlaceNum % 100 <> 11) THEN (SELECT SUBSTRING(@DateValue,1,2)) + 'St' + (SELECT SUBSTRING(@DateValue,3,LEN(@DateValue)))
WHEN (@OnesPlaceNum % 10 = 2 @OnesPlaceNum % 100 <> 22) THEN (SELECT SUBSTRING(@DateValue,1,2)) + 'Nd' + (SELECT SUBSTRING(@DateValue,3,LEN(@DateValue)))
WHEN (@OnesPlaceNum % 10 = 3 @OnesPlaceNum % 100 <> 33) THEN (SELECT SUBSTRING(@DateValue,1,2)) + 'Rd' + (SELECT SUBSTRING(@DateValue,3,LEN(@DateValue)))
ELSE (SELECT SUBSTRING(@DateValue,1,2)) + 'Nd' + (SELECT SUBSTRING(@DateValue,3,LEN(@DateValue))) END
RETURN @DateValue
END
GO
Затем вы можете вызвать эту функцию, например
SELECT [dbo] .Ufn_GetDateWithSelectedFormat, тогда вы получите ответ, как 13 мая 2019 года11: 40: 50: 343