繁体   English   中英

在 SQL Server 中将日期转换为 varchar

[英]Convert date to varchar in SQL Server

如何将date类型的列转换为varchar

样本数据:

ENDDATE (DATE TYPE)
'1947-12-01 00-00-00' 

要求的结果:

ENDDATE (VARCHAR)
    121947

如果我正确理解了这个问题,您需要将值'1947-12-01 00-00-00'ENDDATE作为121947 您可以使用以下查询

SELECT RIGHT(MONTH(ENDDATE)*1010000+YEAR(ENDDATE),6)

如果您使用的是 2012 或更高版本,则可以使用 format。 对于早期版本,您可以将 convert 与一些字符串操作一起使用:

DECLARE @D as date = '1947-12-01'

SELECT  REPLACE(RIGHT(CONVERT(char(10), @d, 103), 7), '/', '') As charValue2008,
        FORMAT(@d, 'MMyyyy') as charValue2012

结果:

charValue2008   charValue2012
121947          121947

请注意Format运行速度相对较慢,因此如果您有很多行,您可能需要选择另一种方式来做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM