SQL Server:格式默认​​日期时间

时间:2019-01-08 18:29:42

标签: sql-server

我需要一些可以格式化日期的东西。我已经做到了,但是我确定我不需要WITH子句来做到这一点。我知道有一种更简单的方法。

创建两列并设置Table6.StartDate的格式,如下所示  1-[dd MonthName yyyy]样本[2019年1月5日]  2- [dd mm yyyy]样本[2019年5月1日]

我的查询


WITH RESULT AS
    (
    SELECT
        T.CID,
        RTRIM(DAY(T.StartDate)) AS Dayofmon,
        RTRIM(DATENAME(MONTH,T.StartDate)) AS MonthNam,
        RTRIM(YEAR(T.StartDate)) AS Years,
        CONVERT(DATE, t.StartDate ,102) AS conv_MonthName,
        CONVERT(DATE, T.EndDate, 101) AS conv_DDMMYYYY
    FROM temp.dbo.Table6 AS T
    )
SELECT R.CID
    ,StartDate = CONCAT(R.Dayofmon, ' ', R.MonthNam, ' ', R.Years)
    ,R.conv_MonthName
    ,R.conv_DDMMYYYY
FROM RESULT AS R

表创建代码

CREATE TABLE temp.dbo.Table6
(
     CID INT NOT NULL,
     PID INT NOT NULL,
     SSC VARCHAR(3),
     StartDate DATE,
     EndDate DATE, 
     Data VARCHAR(30)
)

INSERT INTO temp.dbo.Table1
VALUES
(1001,  1333,   'OP',GETDATE(),GETDATE(),'OP2001156519952012'),
(1002,  1245,   'OR',GETDATE(),NULL,'OR20121005'),
(1003,  1116,   'OP',GETDATE(),NULL,'OP20131215'),
(1004,  1234,   'OP',GETDATE(), GETDATE(),'OP2001156519952012') 

样本数据

enter image description here

1 个答案:

答案 0 :(得分:1)

我建议选中此dates formatting tool
FORMAT(@your_datetime, '%d MMMM yyyy')