将日期转换为nvarchar并合并两列

时间:2016-04-29 10:38:41

标签: sql sql-server

我正在使用SQL Server 2008,我有两个日期格式的列:

Column_1: [2014-12-19]
Column_2: [2015-08-31]   

我想合并它们并将数据类型更改为NVARCHAR

我试过这段代码

CONVERT(NVARCHAR,[ Column_1])+CONVERT(NVARCHAR,[Column_2])AS TEST

但我得到了这个结果:

2014-12-192015-08-31
没有连字符的

而不是2014121920150831

你能帮忙吗?

由于

3 个答案:

答案 0 :(得分:0)

虽然您可以使用转换代码,但只需使用replace:

REPLACE(CONVERT(NVARCHAR(255), Column_1) + CONVERT(NVARCHAR(255), Column_2), '-', '') AS TEST

或者,如果您不想依赖本地日期格式:

CONVERT(NVARCHAR(255), Column_1, 112) + CONVERT(NVARCHAR(255), Column_2, 112) AS TEST

答案 1 :(得分:0)

CONVERT有第三个参数,用于确定日期/时间的格式。有关定义,请参阅here。代码112将为您提供所需的内容。

您也可以使用REPLACE删除连字符。

答案 2 :(得分:0)

试试这个

DECLARE @date1 date = '2014-12-19',
        @date2 date = '2015-08-31'

SELECT CONVERT(VARCHAR(8), @date1, 112)+CONVERT(VARCHAR(8), @date2, 112)