在SQL Server中将日期转换为varchar

时间:2017-02-07 04:22:30

标签: sql sql-server

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

示例数据:

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

请求结果:

ENDDATE (VARCHAR)
    121947

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您需要ENDDATE的{​​{1}}作为'1947-12-01 00-00-00' 121947。您可以使用以下查询

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

答案 1 :(得分:0)

如果您使用的是2012版或更高版本,则可以使用格式。对于早期版本,您可以使用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运行速度相对较慢,所以如果你有很多行,你可能想要选择另一种方法。