SQL Server中字符串转化为GUID的标量函数实现
IF OBJECT_ID(N'dbo.ufn_GUID', 'FN') IS NOT NULL
BEGIN
DROP FUNCTION dbo.ufn_GUID;
END
GO --==================================
-- 功能: 字符串转换为GUID
-- 说明: 、不足32为的字符串则转换为0x0
-- 作者: XXX
-- 创建: XXXX-XX-XX
-- 修改: XXXX-XX-XX XXX XXXXXX
-- 调用: SET @uniGuid = dbo.fn_GUID('31F74CD6EDE94B19BC4C29A8A7791DC7')
--==================================
CREATE FUNCTION dbo.ufn_GUID
(
@chnStr NCHAR() -- 字符串
) RETURNS UNIQUEIDENTIFIER
--$Encode$--
AS
BEGIN
-- 初始化处理NULL时的变量@chnStr的默认值
SET @chnStr = ISNULL(@chnStr, N''); IF LEN(@chnStr) <
BEGIN
RETURN 0x0;
END RETURN LEFT(@chnStr, ) + '-' + SUBSTRING(@chnStr, ,) + '-' + SUBSTRING(@chnStr, , ) +
'-' + SUBSTRING(@chnStr, ,) + '-' + SUBSTRING(@chnStr, , );
END
GO
演示该标量函数效果的T-SQL代码如下:
SELECT dbo.ufn_GUID('31F74CD6EDE94B19BC4C29A8A7791DC7') AS GuidVule;
GO
执行后的查询效果如下:

SQL Server中字符串转化为GUID的标量函数实现的更多相关文章
- Sql Server 中一个非常强大的日期格式化函数
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AMSelect CONV ...
- SqlServer还原数据库时提示:异常终止,不能在此版本的SQL Server中启动,因为它包含分区函数
场景 在SqlServer Management中进行数据库还原时提示: 数据库不能在此版本的SQL Server中启动,因为它包含分区函数. 点击左下角的查看详细信息 实现 电脑上安装的是SQL S ...
- SQL Server 性能优化之——T-SQL TVF和标量函数
阅读导航 1. TVF(表-值行数Table-Valued Functions) a. 创建TVF b. 使用TVF的低性能T-SQL c. 使用临时表 ...
- SQL Server 中字符串中包含字符串变量的表示方法
在代码中有如下的需求:需要在数据库中使用 in 关键字做删除的时候,又需要使用到参数化,参数又是字符串,所以使用的时候就按照如下方式 StringBuilder sql = new StringBui ...
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
LEN:返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格. DATALENGTH:返回用于表示任何表达式的字节数. 示例1:(相同,返回结果都为5): select LEN ('ssss ...
- sql server中字符串无法替换空格的问题
直接上代码: select case when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功' when 'workReport' ...
- SQL Server中的日期格式化
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08 ...
- Sql Server中日期时间格式化为字符串输出
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server中的GUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...
随机推荐
- 从零开始学Python04作业思路:模拟ATM电子银行
标签(空格分隔):Python 一,程序文件说明 程序分为5个组成部分 bin:放置Python程序的启动接口文件 通过Python命令启动文件夹内文件即正常执行Python程序 例如:ATM_sta ...
- 三层架构与MVC之间的区别
文章转发自:http://www.admin10000.com/document/535.html 我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真 ...
- android实现两个activity数据交互
android如何实现两个Activity数据交互?主要是根据Intent的携带功能,intent可以携带很多信息,比如Bundle,URI甚至对象(此时要序列化,并且对象里面的成员变量如果是对象,也 ...
- Fiddler (四) 实现手机的抓包
Fiddler是我最喜爱的工具,几乎每天都用, 我已经用了8年了. 至今我也只学会其中大概50%的功能. Fiddler绝对称得上是"神器", 任何一个搞IT的人都得着的. 小 ...
- 学习笔记:利用GDI+生成简单的验证码图片
学习笔记:利用GDI+生成简单的验证码图片 /// <summary> /// 单击图片时切换图片 /// </summary> /// <param name=&quo ...
- RDBMS架构的开源DW/DSS引擎列表
因为笔者早期以oracle为主要RDBMS进行设计和优化,所以几乎即使单表超过5000w,多张超过300万以上的表做任意复杂的统计和风控计算都没出过性能问题.如今全面mysql为主线或者说open s ...
- Test your application
Creating automatic test suites for your application is a good way to make it robust. It allows you t ...
- HTML5&CSS3经典动态表格
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- sublime text3 之snippet编写代码片段
sublime text 3 中有个强大的功能就是可以编写各种文件类型的snippet代码片段,可以节省大量的时间. 文件名为:jekyll-top.sublime-snippet(.sublime- ...
- JavaScript基础系列(变量与类型)
以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...