SQL 脚本生成兑换码-----NEWID()的使用

目的:随机生成一个字符串;例如:UR789SDF4SD5F4DSF5

1、NEWID()函数

SELECT NEWID()

结果:A22E6B13-F632-4AE0-99E3-BA7E943E5621

生成一串由大写字母、数字、横杠组成的程度为36的一串代码

2、实际上我只需要一个12位的兑换码

---------------------------方式1-----------------------------------------
DECLARE @STRNUMBER NVARCHAR(36)

SET @STRNUMBER = NEWID()

SELECT @STRNUMBER AS RESULT

----------------------------方式1结果----------------------
A22E6B13-F632-4AE0-99E3-BA7E943E5621
----------------------------------------------------------


----------------------------方式2-------------------------
--去除‘-’、长度为12

DECLARE @STRNUMBER NVARCHAR(36)

SET @STRNUMBER = CONVERT(NVARCHAR(12),REPLACE(NEWID(),'-',''))

SELECT @STRNUMBER AS RESULT

----------------------------方式2结果-----------------------
C7752O27185D
-----------------------------------------------------------

 3、上面第二种处理方式中使用两个函数

CONVERT()    转换类型

REPLACE()     替换字符  其中第一参数是目标字符串、参数二:被替换的字符可以是单个字符‘H’也可以是多个‘acbsd’,参数三:替换结果。

注意事项

1、NEWID 对每台计算机返回的值各不相同。所显示的数字仅起解释说明的作用。

2、在应用方面,生成出来的结果是含有大写的‘O’和数字‘0’,要是有字体的区别,这两个是不好区分的。所以在使用过程中,一般将这两个字符给替换,再使用一次REPLACE()函数。

猜你喜欢

转载自blog.csdn.net/huanghuipost/article/details/93526464
今日推荐