MS SQL 主键自动生成32位guid

因同步数据业务需要,主键被设定为varchar(32),而自动生成的newid()是36位的,需要将中间的横线去掉,才合适。为此写如下标量函数:

CREATE FUNCTION get_32guid
(
@id uniqueidentifier
)
RETURNS varchar(32)
AS
BEGIN


-- Return the result of the function
RETURN REPLACE(CONVERT(varchar(36), @id),'-','')
END
GO

然后在表设计的时候,指定字段长度为varchar(32),设置为主键,默认值设置为:([dbo].[get_32guid](newid())),即可自动生成32位guid,如下图所示:

发布了18 篇原创文章 · 获赞 47 · 访问量 47万+

猜你喜欢

转载自blog.csdn.net/tlammon/article/details/89426380
今日推荐