将日期显示为dddd Mmmm d,yyyy SQL

时间:2018-08-02 19:06:31

标签: sql sql-server date

试图将日期显示为2018年8月2日星期四的格式。它以20180802的形式存储在表中。列类型设置为char。任何帮助表示赞赏。

我正在使用SQL Server 2014。

谢谢

3 个答案:

答案 0 :(得分:0)

DateNameconvert函数使用以下内容:

select DateName( month , q.dt )+' '+convert(char,day(q.dt))+', '+convert(char,year(q.dt))
  from        
     (
      select convert(date,'20180802') as dt
     ) q;

SQL Fiddle Demo

关于您的最后评论,请输入以下查询:

select DateName( weekday , q.dt )+' '+
       DateName( month , q.dt )+' '+
       convert(char,day(q.dt))+', '+convert(char,year(q.dt)) as "Date"
  from        
     (
      select convert(date,'20180802') as dt
     ) q;

Date
------------------------
Thursday, August 2, 2018

答案 1 :(得分:0)

添加到BarbarosÖzhan响应中,

SELECT DateName(dw,q.dt) +', '+DateName(month, q.dt)+' '+CONVERT(VARCHAR, DAY(q.dt))+', '+CONVERT(VARCHAR, YEAR(q.dt))
FROM
(
    SELECT CONVERT(DATE, '20180802') AS dt
) q;

答案 2 :(得分:0)

自2014年起,您可以使用format()。

Format()具有一些很棒的功能,但众所周知它不是表演者。

此外,由于您的“日期”存储为字符串,因此我建议使用try_convert()或try_cast()来容纳任何意外数据。

示例

kubectl patch cronjob <name> -p '{"spec": { "suspend": true }}'

返回

Select format(try_convert(date,'20180802'),'dddd, MMMM d, yyyy')