如何将date
类型的列转换为varchar
?
示例数据:
ENDDATE (DATE TYPE)
'1947-12-01 00-00-00'
请求结果:
ENDDATE (VARCHAR)
121947
答案 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
运行速度相对较慢,所以如果你有很多行,你可能想要选择另一种方法。