创建一个唯一的ID,它是多种数据类型的串联

时间:2018-01-15 14:14:49

标签: sql formatting

我正在尝试在视图中创建一个唯一的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。

有人可以帮助我吗?

1 个答案:

答案 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(),因此您可以指定日期所需的格式。