连接具有不同数据类型的字段

时间:2018-02-07 02:44:45

标签: sql sql-server

我尝试将带有VarChar和Date的字段连接到一个VarChar字段中,以获取tourdates数据库。所以,想象一下,比如麦当娜巡演的日期如下:

TourName           TourStDt          TourEndDt
Like A Virgin      3/5/1985          12/1/1985
Material Girl      1/15/1986         10/10/1987

我确定日期不准确,但无论如何......无论如何,所以我想创建一个连接TourName,TourStDt和TourEndDt字段的查询,使它看起来像这样:

Like A Virgin (3/5/1985 to 12/1/1985)
Material Girl (1/15/1986 to 10/10/1987)

我写了一个这样的查询:

Select DISTINCT 
    TourID, 
    TourName + '(' + TourStDt + ' to ' + TourEndDt + ')' AS TourName2
from [tblTours] 
ORDER BY [TourID] ASC 

当我这样做时,我收到一个错误:

  

数据类型nvarchar和date在add运算符中不兼容。

有谁能告诉我如何制作我上面概述的结果?

1 个答案:

答案 0 :(得分:2)

您需要将值转换为字符串:

Select DISTINCT TourID, 
       TourName + '(' + convert(varchar(255), TourStDt) + ' to ' + convert(varchar(255), TourEndDt) + ')' AS TourName2
from [tblTours] 
ORDER BY [TourID] ASC ;

我建议您在convert()添加第三个参数,指定日期格式。