【数据库】SQL-随机生成区间内数值、日期、字符串,mock数据
〇、概述
1、参考
2、其他
一、随机生成数值
1、随机生成函数random_int()
-- 随机数生成函数,int版
CREATE OR REPLACE FUNCTION random_int(
start_num INT,
end_num INT
)
RETURNS INT
AS $BODY$
BEGIN
-- 功能,生成最小值为start_num,最大值为end_num的随机数
RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
END;
$BODY$
LANGUAGE plpgsql VOLATILE
2、随机生成函数random_bigint()
-- 随机数生成函数,bigint版
CREATE OR REPLACE FUNCTION random_bigint(
start_num BIGINT,
end_num BIGINT
)
RETURNS BIGINT
AS $BODY$
BEGIN
-- 功能,生成最小值为start_num,最大值为end_num的随机数
RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 1
3、随机生成函数random_smallint()
-- 随机数生成函数,smallint版
CREATE OR REPLACE FUNCTION random_int(
start_num smallint,
end_num smallint
)
RETURNS smallint
AS $BODY$
BEGIN
-- 功能,生成最小值为start_num,最大值为end_num的随机数
RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 1
可以将1、2、3同名,会根据输入参数自动匹配
二、随机生成时间
1、随机生成身份证号
https://blog.csdn.net/weixin_40001924/article/details/112894936
三、生成数组内的随机值
函数定义:
CREATE OR REPLACE FUNCTION "ap"."get_random_code"(_text)
RETURNS "pg_catalog"."varchar" AS $BODY$
DECLARE
-- start_int ALIAS FOR $1;
arr ALIAS FOR $1;
BEGIN
RETURN arr[random()*array_length(arr, 1)];
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
函数调用:
SELECT get_random_code(ARRAY['1','22','11','3','7'])
四、生成随机XX编码
函数定义:
CREATE OR REPLACE FUNCTION "ap"."get_random_areacode"()
RETURNS "pg_catalog"."varchar" AS $BODY$
DECLARE
-- start_int ALIAS FOR $1;
arr VARCHAR[] := ARRAY(SELECT area_id FROM ap.dim_region_code) ;
BEGIN
RETURN arr[ap.get_random_number(1,array_length(arr, 1))];
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
【数据库】SQL-随机生成区间内数值、日期、字符串,mock数据的更多相关文章
- 快速排序算法的实现 && 随机生成区间里的数 && O(n)找第k小 && O(nlogk)找前k大
思路:固定一个数,把这个数放到合法的位置,然后左边的数都是比它小,右边的数都是比它大 固定权值选的是第一个数,或者一个随机数 因为固定的是左端点,所以一开始需要在右端点开始,找一个小于权值的数,从左端 ...
- 【SQL Server 学习系列】-- sql 随机生成中文名字
原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...
- SQL零星技术点:SQL中转换money类型数值转换为字符串问题
--SQL中转换money类型数值转换为字符串问题,直接转换就转为两位了,所以需要做一下处理.具体请看下述sql实例. 1 create table #test(price money) insert ...
- SQL随机生成数值字符
1.随机生成0~N之间的数值 ROUND(RAND()*N,0) 2.随机生成Min~Max之间的数值 ROUND(RAND()*(Max-Min),0)+Min 3.随机生成大写字母 CHAR(RO ...
- shell随机生成身份证,姓名,电话,日期,分数,等级和insert语句
#!/bin/bash#生成随机身份证号,性别,年龄,电话,姓名,日期,分数和对应等级,并生成insert语句#作者AiYS,2018-02-06,转载请注明http://www.cnblogs.co ...
- php随机生成数字加字母的字符串
function getRandomString($len, $chars=null) { if (is_null($chars)) { $chars = "ABCDEFGHIJKLMNOP ...
- Sql 随机生成日期时间
DECLARE @dt1 DATETIME,@dt2 DATETIME,@a BIGINT,@b BIGINT SET @dt1='2010-01-01'--开始日期 SET @dt2='2010-0 ...
- SQLServer 随机生成指定范围的日期
一个分页的问题,DTCms3.0中,分页是根据时间分页的,如果当添加时间(add_time)都是同一个数值时,不管点击第几页,显示的数据都是同一个的内容,于是就有了需要把同一个时间改指定随机日期的功能 ...
- sql 随机生成中文名字
,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),('李'),('周'),('吴'),('郑'),('王'),('冯'),( ...
- Excel 统计在某个区间内数值的个数
=COUNTIF(A1:A50,"<=1.0E-5")-COUNTIF(A1:A50,"<60")
随机推荐
- 视频结构化 AI 推理流程
「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
- kubernetes中部署kube-prometheus项目解决ControllerManager与Scheduler无法监控问题
文章转载自:https://www.kococ.cn/20210302/cid=697.html 一.问题描述 在部署 kube-prometheus 到 kubernetes 集群中总会遇到一个问题 ...
- Logstash: 如何创建可维护和可重用的Logstash管道
- Elasticsearch中的一些重要概念:cluster, node, index, document, shards及replica
首先,我们来看下一下如下的这个图: Cluster Cluster也就是集群的意思.Elasticsearch集群由一个或多个节点组成,可通过其集群名称进行标识.通常这个Cluster 的名字是可以在 ...
- logstash中关于Jdbc输入配置选项详解
Setting Input type Required clean_run boolean No columns_charset hash No connection_retry_attempts n ...
- krew插件安装
概念 Krew是kubectl插件的包管理工具.借助Krew,可以轻松地使用kubectl plugin:发现插件.安装和管理插件.使用类似apt.dnf或者brew. 对于kubectl用户:kre ...
- Fluentd采集示例
Fluentd通过读取配置文件来加载各插件,日志经由各插件的处理完成输入到输出的整个路由. 本文通过一个最简单的示例来说明配置文件的结构.td-agent.conf默认位于/etc/td-agent/ ...
- PHP全栈开发(四): HTML 学习(2. div 布局)
无序列表,有序列表,自定义列表 无序列表是ul表示,每个元素用li表示 有序列表是ol表示,每个元素用li表示 <ul> <li>首页</li><li> ...
- 怎样在vue中隐藏el-form-item中的值、设置输入框的值是只读
1.如何在前端vue中隐藏某一个元素(el-form-item怎样隐藏) 给每项表单项添加一个自己的id名,并用v-model绑定相对应的数据,利用v-if根据上一个表单项的数据值来进行显示或隐藏 & ...
- Python学习三天计划-3
面向对象 一.类的定义 1.类定义 class是关键字,表示要定义类了 类的属性,即定义在类中的变量(成员变量) 类的行为,即定义在类中的函数(成员方法) 2.对象 创建类对象的语法: class S ...