在SQL Server中将日期格式化为另一种格式

时间:2018-11-30 20:12:04

标签: sql-server

我在SQL Server中有一个表。 SAMPLDATERECDATE列包含日期,但它们的格式为yymmdd。我想对这些列进行格式化,以在ddmmyy中显示日期,我该如何实现呢?请帮忙。

我已经在网上搜索过,但找不到简单的示例来提供帮助。请参阅所附表格样本。

Sample of the table is attached here

enter image description here

2 个答案:

答案 0 :(得分:0)

使用FORMAT转换日期。

SELECT FORMAT(SAMPLDATE, 'ddMMyy')

答案 1 :(得分:0)

这将在您的VARCHAR列上具有一致的日期掩码的情况下起作用:

SELECT CONVERT(datetime,  
               SUBSTRING(SAMPLDATE,5,2) + '/' +
               SUBSTRING(SAMPLDATE,3,2) + '/' + 
               SUBSTRING(SAMPLDATE,1,2))

这会将您的VARCHAR转换为DATETIME

现在添加格式:

SELECT FORMAT(CONVERT(datetime,  
               SUBSTRING(SAMPLDATE,5,2) + '/' +
               SUBSTRING(SAMPLDATE,3,2) + '/' + 
               SUBSTRING(SAMPLDATE,1,2)), 'ddMMyy')

仅当您确实想处理日期时,才执行CONVERT。如果您只关心格式,则只需使用SUBSTRING()

重新排列
SUBSTRING(SAMPLDATE,5,2) + '/' +
SUBSTRING(SAMPLDATE,3,2) + '/' + 
SUBSTRING(SAMPLDATE,1,2)