php随机字符串生成uuid,巧用UUID生成随机数或随机字符串

本文介绍了如何使用SQL生成随机数区间、日期范围,并通过函数创建随机字符串,还涵盖了数据库排序规则和一些实用的函数如NEWID()和RAND()。重点在于演示如何在数据库操作中实现数据的随机生成和字符串变换。
摘要由CSDN通过智能技术生成

--前3条数据

use Test

go

select top 3 R1 = RAND(),R2 = RAND()

From sys.objects

--随机生成区间

--Declare @RandMin int ,@RandMax int

--select @RandMin = -100 ,@RandMax = 100

--select top 100 RandValue = ABS(CHECKSUM(NewID()))%(1+@RandMax - @RandMin) + @RandMin

--From sys.objects

Declare @RandMin datetime ,@RandMax datetime

select @RandMin = '20100101' ,

@RandMax = '20101231'

select top 100 RandValue = Dateadd(Hour,ABS(CHECKSUM(NewID()))%(1+DateDiff(Hour,@RandMax,@RandMin)),@RandMin)

From sys.objects

--select * from ::fn_helpcollations() --查看数据库排序规则

go

Create View dbo.V_NewID

as

select RE = CONVERT(char(36),NEWID())

go

Create Function dbo.FN_RandStr(

@StrLen int

)returns nvarchar(max)

as

Begin

IF @StrLen < 0

return (null)

Declare @re nvarchar(max),@len int

Select @re = re,

@len = 36

From dbo.V_NewID

While @len < @Strlen

Begin

Select @re = @re +re,

@len = 36 + @len

From dbo.V_NewID

End

Set @re = Left(@re,@StrLen);

;With

SN as

(

Select Top 11

RowID = Row_Number() Over(Order by Object_id) - 1

From Sys.objects

),

CH as

(

Select

ch = Case RowID when 10 then '-' else Convert(char(1),RowID) end,

Chv =(

Select Chv = char(ABS(CheckSum(re))%26+97)

From V_NewID

)

From SN

)

Select @re = Replace(@re,ch,chv)

From CH

return(@re)

End

go

Select Top 100 RandValue = dbo.FN_RandStr(50)

From sys.objects o1, sys.objects o2

go

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值