我正在尝试在视图中创建一个唯一的ID,该视图是多种数据类型的串联。首先我有DateID,这是一个smallint,然后我有一个int的LinkID,最后我有一个日期时间的PicDateStamp。
我正在尝试创建一个唯一ID,所以我这样做:
Convert(varchar, T.DateID + '-' + P.LinkID + '-' P.PicDateStamp) as UTableID
出于某种原因,它回归了很久。我只想让它看起来像(假设DateID是22,LinkID是74,PicDateStamp的日期是1/15/2018):22-74-20180115。
有人可以帮助我吗?
答案 0 :(得分:1)
据推测,您正在使用SQL Server(字符串连接的+
表明了这一点。)
在连接之前转换为字符串:
(convert(varchar(255), T.DateID, 121) + '-' +
convert(varchar(255), P.LinkID) + '-' +
convert(varchar(255), P.PicDateStamp, 121)
) as UTableID
请注意,这使用convert()
而不是cast()
,因此您可以指定日期所需的格式。