我想在我连接ID
和Date_
的位置创建另一列。 ID
为Varchar(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')
我想您希望您的新列类型为VARCHAR
。
您应尝试转换Datetime参数:Sql-server Convert() tutorial
编辑此部分:
concat(ID, convert(VARCHAR(20), Date_, 120) )
您还可以使用可选参数添加其他特定的日期格式。用所需的任何值替换120或将其删除以使用默认字符串格式。 (请参阅文档链接)
编辑:看来convert()
是SQL Server独有的。由于您在帖子中标记了SQL Server,因此它应该可以使用。