`
touchinsert
  • 浏览: 1335555 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

生成随机字符串的SQL实现

 
阅读更多

一个生成模拟数据的过程里,想用随机函数生成一个个长度不等、内容随机的字符串,插入到测试的表里
希望有这样的函数fn(m):
输入长度最大值m
输出 m/3+randmom(m*2/3) 长度的随机字符串

然后循环插入:
insert tb (...,ftext,...) values (...,fn(2000),...)

但是遇到sqlserver不支持在函数里使用不确定函数(rand/getdate等)

看了happyfaststone的文章(http://blog.csdn.net/happyflystone/archive/2008/12/24/3595724.aspx),基本实现了:

--先用“视图”绕过 在函数里使用不确定函数 的限制

CREATE VIEW [dbo].[vwRand]
AS
SELECT RAND() AS frand

--真正的随机函数
CREATE FUNCTION random
(
@n int
)
RETURNS int
AS
BEGIN
select @n=@n*frand from vwRand
RETURN @n
END

--最后的随机字符串
CREATE FUNCTION RandStr
(
@m int
)
RETURNS varchar(8000)
AS
BEGIN
DECLARE @l int,@i int,@r varchar(8000),@s varchar(8000)

set @l=0
set @r=''
while @l<@m
begin
set @i=@m/10+dbo.random(@m*9/10)+1
if @i+@l>@m
@i=@m-@l
set @s=space(@i)
set @s=replace(@s,' ',char(33+dbo.random(90)))
set @r=@r+@s
set @l=@l+@i
end
RETURN @r
END

分享到:
评论

相关推荐

    sql_对应记录生成随机字符串

    sql_对应记录生成随机字符串

    SQL生成n位随机字符串.pdf

    SQL生成n位随机字符串 在本文中,我们将讨论如何使用SQL生成n位随机字符串。生成随机字符串是许多应用程序中的常见需求,例如生成密码、验证码、唯一标识符等。 生成随机字符串的方法 第一种方法是使用新生成的...

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    sql生成随机码--自定义大写、小写、数字、特定字符个数

    mysql生成随机字符串函数分享

    这个`rand_string`函数非常实用,可以方便地在SQL查询中生成随机字符串。例如,如果你需要生成一个10位长度的随机字符串,可以这样做: ```sql SELECT rand_string(10); ``` 此外,这个函数在编写存储过程或触发器...

    Oracle中如何生成随机数字、随机字符串、随机日期.docx

    下面将详细介绍如何在 Oracle 中生成随机数字、随机字符串以及随机日期。 1. 随机小数: Oracle 提供 `DBMS_RANDOM.VALUE` 这个包来生成随机小数。这个函数接收两个参数,`LOW` 和 `HIGH`,返回一个 [LOW, HIGH) ...

    mysql 如何插入随机字符串数据的实现方法

    接着,为了生成随机字符串,我们需要创建一个用户定义的函数`rand_string`。这个函数接受一个参数n,表示要生成的随机字符串的长度。它从预定义的字符集中随机选择字符,以构建字符串: ```sql SET global log_bin_...

    MySQL中随机生成固定长度字符串的方法

    本篇将详细介绍如何在MySQL中创建一个自定义函数来实现固定长度的随机字符串生成。 首先,我们需要创建一个用户定义函数(UDF),名为`rand_string`,它接受一个整数参数`n`,表示所需的字符串长度。以下为创建该...

    Oracle中如何生成随机数字、随机字符串、随机日期.pdf

    这个函数允许我们生成指定长度的随机字符串,其中`opt`参数定义了字符串的类型: - `'u'`或`'U'`:任何大写字母。 - `'l'`或`'L'`:任何小写字母。 - `'a'`或`'A'`:大小写混合字母。 - `'x'`或`'X'`:大写字母...

    C#-字符串操作类

    、指定字符串分割字符串、指定字符串位置获取字符串、过滤SQL中非法字符、检查SQL语句中是否有非法关键字、随机字符串生成、唯一字符串生成、随机数字生成、唯一数字串生成、去除HTML标签、判断是否整型、判断是否...

    数据库连接字符串的写法

    而在 SQL Server 数据库中,连接字符串的写法有多种: 使用标准安全级别: strConnect = _T("Provider=sqloledb;Data Source=MyServerName;Initial Catalog=MyDatabaseName;User Id=MyUsername;Password=MyPassword...

    Oracle中如何用一条SQL快速生成10万条测试数据

    参数'x'表示字符串由大小写字母组成,通过改变参数,可以生成不同类型的随机字符串。 #### 5. **完整SQL语句构建** 结合以上知识点,完整的SQL语句如下: ```sql CREATE TABLE myTestTable AS SELECT rownum AS id...

    java实现对字符串的加密与解密.doc

    Java 实现字符串加密与解密的关键在于设计一个安全且可逆的算法。在这个示例中,我们看到一个简单的加密和解密方法,它们都定义在名为 `Encipher` 的类中。这个类主要使用了异或操作(XOR)以及一个预定义的密钥字符...

    生成类别随机数

    通过上述分析可以看出,虽然SQL Server中的`NEWID()`函数可以生成唯一标识符,但在ASP/ASP.NET环境中,使用自定义函数如`GetRamCode`可以根据具体需求灵活生成随机数或随机字符串,这对于提高系统的安全性与用户体验...

    测试多种方法生成唯一性随机码Demo

    使用特定长度的随机字符串,可以包括字母、数字和特殊字符。字符串的长度和字符集决定了重复的概率,通常长度足够长时,重复可能性非常小。 7. **基于硬件信息的唯一标识**: 利用CPU ID、MAC地址等硬件信息,...

    向数据库插入随机n个用户的代码

    通过理解代码逻辑,我们不仅掌握了生成随机字符串的方法,还学习了如何利用SQL Server内置函数和控制结构来高效地处理数据库操作。这种技巧在实际项目中非常实用,特别是在需要快速填充测试数据或初始化用户数据时。...

    C#代码整理(字符串操作、加密解密、密码生成、cookie和缓存操作)

    生成随机字符串并将其绘制成图片,增加扭曲、旋转等效果,以提高安全性。 8. **Cookie和缓存操作**: `HttpCookie`类用于处理Cookie,可以在客户端存储和检索数据。`Cache`对象提供了服务器端的缓存功能,可以通过...

    经典SQL脚本大全

    │ │ 7.2.2 字符串缓存实现的通用分页存储过程.sql │ │ 7.2.3 临时表缓存实现的通用分页存储过程.sql │ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql ...

Global site tag (gtag.js) - Google Analytics