首页 > 解决方案 > 如何在 SQL Server 2008 中将日期格式 yyyymmdd 转换为 yyyy/mm/dd

问题描述

我尝试了一些转换,但似乎不起作用。我的数据类型是decimal

date_column
-----------
20140619
20160527
20150601
20131127
20170217
20171204
20160519

我的 SQL 语句:

SELECT
    CONVERT(DATE, CONVERT(VARCHAR(10), date_column), 111) AS mydate
FROM
    my_table

结果

mydate
-------------
2014-06-19
2016-05-27
2015-06-01
2013-11-27
2017-02-17
2017-12-04
2016-05-19

标签: sql-serversql-server-2008

解决方案


您目前这样做:

decimal -> varchar -> date

这很好,但是您仍然缺少一步:

decimal -> varchar -> date -> varchar (new format)

因此,您需要:

select CONVERT(varchar(10), CONVERT(date, CONVERT(varchar(8), date_column)), 111) as mydate
from my_table

(您实际上应该首先将日期存储为 a DATE,但我知道这并不总是旧数据库的选项。)


推荐阅读