星空网 > 软件开发 > 数据库

SQL Server中字符串转化为GUID的标量函数实现

    还是工作中遇到的需求,有时候和外部的系统对接,进行数据的核对功能,外部的系统有时候主键字段列数据类是UNIQUEIDENTIFER(GUID)类型的字符串格式,去除了GUID格式中的分隔符“-”。基于上面的原因,在数据库中可能要将这类的“GUID去格式化的字符串”转化为GUID,便于和本系统的相关联数据进行来核对。
 
SQL Server中的字符串转化为GUID的T-SQL代码如下:
 1 IF OBJECT_ID(N'dbo.ufn_GUID', 'FN') IS NOT NULL 2 BEGIN 3   DROP FUNCTION dbo.ufn_GUID; 4 END 5 GO 6  7 --================================== 8 -- 功能: 字符串转换为GUID 9 -- 说明: 1、不足32为的字符串则转换为0x010 -- 作者: XXX11 -- 创建: XXXX-XX-XX12 -- 修改: XXXX-XX-XX XXX XXXXXX13 -- 调用: SET @uniGuid = dbo.fn_GUID('31F74CD6EDE94B19BC4C29A8A7791DC7')14 --==================================15 CREATE FUNCTION dbo.ufn_GUID16 (17   @chnStr NCHAR(32)    -- 字符串18 ) RETURNS UNIQUEIDENTIFIER19   --$Encode$--20 AS21 BEGIN22   IF LEN(@chnStr) < 3223   BEGIN24     RETURN 0x0;25   END26 27   RETURN LEFT(@chnStr, 8) + '-' + SUBSTRING(@chnStr, 9 ,4) + '-' + SUBSTRING(@chnStr, 13, 4) + 28       '-' + SUBSTRING(@chnStr, 17 ,4) + '-' + SUBSTRING(@chnStr, 21, 12);29 END30 GO

演示该标量函数的效果的T-SQL代码如下:


1 SELECT dbo.ufn_GUID('31F74CD6EDE94B19BC4C29A8A7791DC7') as GuidVule;2 GO

执行后的查询效果如下:SQL Server中字符串转化为GUID的标量函数实现



 SQL Server中字符串转化为GUID的标量函数实现




原标题:SQL Server中字符串转化为GUID的标量函数实现

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

俄罗斯国际快递:https://www.goluckyvip.com/tag/101060.html
中国邮政国际包裹价格:https://www.goluckyvip.com/tag/101061.html
国际货运行情:https://www.goluckyvip.com/tag/101062.html
ems国际大件物流:https://www.goluckyvip.com/tag/101063.html
国际快递 翻译:https://www.goluckyvip.com/tag/101064.html
斑头雁国际物流:https://www.goluckyvip.com/tag/101065.html
字节跳动辟谣!TikTok收紧美国开店政策为不实信息:https://www.kjdsnews.com/a/1836537.html
字节跳动辟谣!TikTok收紧美国开店政策为不实信息:https://www.goluckyvip.com/news/188212.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流