连接VarChar和日期字段

问题描述 投票:0回答:1

我想在我连接IDDate_的位置创建另一列。 IDVarchar(32)Date_Datetime。当我concat这两个并创建一个名为UniqueValue的新列时,我得到了错误消息:

数据类型不兼容。

我该如何解决?

SELECT        
    ID, PROP, DATE_, VALUE_, Model, ETLUPDATED, 
    CONCAT(ID, Date_) As UniqueValue
FROM            
    dbo.Retail2
WHERE        
    (PROP = 'vol') 
    AND (DATEDIFF(YEAR, DATE_, GETDATE()) <= 2) 
    AND (Model = 'base')
sql sql-server
1个回答
1
投票

我想您希望您的新列类型为VARCHAR

您应尝试转换Datetime参数:Sql-server Convert() tutorial

编辑此部分:

concat(ID, convert(VARCHAR(20), Date_, 120) )

您还可以使用可选参数添加其他特定的日期格式。用所需的任何值替换120或将其删除以使用默认字符串格式。 (请参阅文档链接)

编辑:看来convert()是SQL Server独有的。由于您在帖子中标记了SQL Server,因此它应该可以使用。

© www.soinside.com 2019 - 2024. All rights reserved.