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()函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值