〇、概述

1、参考

2、其他

一、随机生成数值

1、随机生成函数random_int()

  1. -- 随机数生成函数,int
  2. CREATE OR REPLACE FUNCTION random_int(
  3. start_num INT,
  4. end_num INT
  5. )
  6. RETURNS INT
  7. AS $BODY$
  8. BEGIN
  9. -- 功能,生成最小值为start_num,最大值为end_num的随机数
  10. RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
  11. END;
  12. $BODY$
  13. LANGUAGE plpgsql VOLATILE

2、随机生成函数random_bigint()

  1. -- 随机数生成函数,bigint
  2. CREATE OR REPLACE FUNCTION random_bigint(
  3. start_num BIGINT,
  4. end_num BIGINT
  5. )
  6. RETURNS BIGINT
  7. AS $BODY$
  8. BEGIN
  9. -- 功能,生成最小值为start_num,最大值为end_num的随机数
  10. RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
  11. END;
  12. $BODY$
  13. LANGUAGE plpgsql VOLATILE
  14. COST 1

3、随机生成函数random_smallint()

  1. -- 随机数生成函数,smallint
  2. CREATE OR REPLACE FUNCTION random_int(
  3. start_num smallint,
  4. end_num smallint
  5. )
  6. RETURNS smallint
  7. AS $BODY$
  8. BEGIN
  9. -- 功能,生成最小值为start_num,最大值为end_num的随机数
  10. RETURN FLOOR(start_num + random() * (end_num - start_num + 1));
  11. END;
  12. $BODY$
  13. LANGUAGE plpgsql VOLATILE
  14. COST 1

可以将1、2、3同名,会根据输入参数自动匹配

二、随机生成时间

1、随机生成身份证号

https://blog.csdn.net/weixin_40001924/article/details/112894936

三、生成数组内的随机值

函数定义:

  1. CREATE OR REPLACE FUNCTION "ap"."get_random_code"(_text)
  2. RETURNS "pg_catalog"."varchar" AS $BODY$
  3. DECLARE
  4. -- start_int ALIAS FOR $1;
  5. arr ALIAS FOR $1;
  6. BEGIN
  7. RETURN arr[random()*array_length(arr, 1)];
  8. END;
  9. $BODY$
  10. LANGUAGE plpgsql VOLATILE
  11. COST 100

函数调用:

SELECT get_random_code(ARRAY['1','22','11','3','7'])

四、生成随机XX编码

函数定义:

  1. CREATE OR REPLACE FUNCTION "ap"."get_random_areacode"()
  2. RETURNS "pg_catalog"."varchar" AS $BODY$
  3. DECLARE
  4. -- start_int ALIAS FOR $1;
  5. arr VARCHAR[] := ARRAY(SELECT area_id FROM ap.dim_region_code) ;
  6. BEGIN
  7. RETURN arr[ap.get_random_number(1,array_length(arr, 1))];
  8. END;
  9. $BODY$
  10. LANGUAGE plpgsql VOLATILE
  11. COST 100

【数据库】SQL-随机生成区间内数值、日期、字符串,mock数据的更多相关文章

  1. 快速排序算法的实现 && 随机生成区间里的数 && O(n)找第k小 && O(nlogk)找前k大

    思路:固定一个数,把这个数放到合法的位置,然后左边的数都是比它小,右边的数都是比它大 固定权值选的是第一个数,或者一个随机数 因为固定的是左端点,所以一开始需要在右端点开始,找一个小于权值的数,从左端 ...

  2. 【SQL Server 学习系列】-- sql 随机生成中文名字

    原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...

  3. SQL零星技术点:SQL中转换money类型数值转换为字符串问题

    --SQL中转换money类型数值转换为字符串问题,直接转换就转为两位了,所以需要做一下处理.具体请看下述sql实例. 1 create table #test(price money) insert ...

  4. SQL随机生成数值字符

    1.随机生成0~N之间的数值 ROUND(RAND()*N,0) 2.随机生成Min~Max之间的数值 ROUND(RAND()*(Max-Min),0)+Min 3.随机生成大写字母 CHAR(RO ...

  5. shell随机生成身份证,姓名,电话,日期,分数,等级和insert语句

    #!/bin/bash#生成随机身份证号,性别,年龄,电话,姓名,日期,分数和对应等级,并生成insert语句#作者AiYS,2018-02-06,转载请注明http://www.cnblogs.co ...

  6. php随机生成数字加字母的字符串

    function getRandomString($len, $chars=null) { if (is_null($chars)) { $chars = "ABCDEFGHIJKLMNOP ...

  7. Sql 随机生成日期时间

    DECLARE @dt1 DATETIME,@dt2 DATETIME,@a BIGINT,@b BIGINT SET @dt1='2010-01-01'--开始日期 SET @dt2='2010-0 ...

  8. SQLServer 随机生成指定范围的日期

    一个分页的问题,DTCms3.0中,分页是根据时间分页的,如果当添加时间(add_time)都是同一个数值时,不管点击第几页,显示的数据都是同一个的内容,于是就有了需要把同一个时间改指定随机日期的功能 ...

  9. sql 随机生成中文名字

    ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),('李'),('周'),('吴'),('郑'),('王'),('冯'),( ...

  10. Excel 统计在某个区间内数值的个数

    =COUNTIF(A1:A50,"<=1.0E-5")-COUNTIF(A1:A50,"<60")

随机推荐

  1. ELK日志报警插件ElastAlert并配置钉钉报警

    文章转载自:https://www.cnblogs.com/uglyliu/p/13118386.html ELK日志报警插件ElastAlert 它通过将Elasticsearch与两种类型的组件( ...

  2. Portainer实用教程

    Portainer使用 Nginx 容器实现端口转发 在 WordPress 部署完成后,需要在浏览器内输入 IP:端口或域名:端口 的形式访问网站,但我们一般访问应用的时候都是希望不加端口就能访问域 ...

  3. 如何通过 Java 代码隐藏 Word 文档中的指定段落

    在编辑Word文档时,我们有时需要将一些重要信息保密. 因此,可以隐藏它们以确保机密性. 在本文中,将向您介绍如何通过 Java 程序中的代码隐藏 Word 文档中的特定段落.下面是我整理的具体步骤, ...

  4. BigDecimal的运算——加减乘除

    BigDecimal的运算--加减乘除 1.初始化(尽量用字符串的形式初始化) BigDecimal num12 = new BigDecimal("0.005"); BigDec ...

  5. Docker_基础知识

    容器概述 容器本义:盛装物体.隔离物体. 容器意义:解决虚拟化资源浪费的问题. 容器沿革:1979---2013---                     版本:企业版(EE)/社区版(CE)1. ...

  6. CF39H

    前言 谁来给我讲讲九九乘法表啊. 以上菲克向. \(\sf{Solution}\) 看题上来就是数据范围 \(2\leq k\leq 10\) ,显然打表可以轻松水过,数据这么小,手算是没问题的啦. ...

  7. 某 .NET RabbitMQ SDK 有采集行为,你怎么看?

    一:背景 1.讲故事 前几天有位朋友在微信上找到我,说他的一个程序上了生产之后,被运维监控定位到这个程序会向一个网址为: http://m.365ey.net 上不定期打数据,而且还是加密的格式,要他 ...

  8. Workflow,要不要了解一下

    摘要:Workflow本质是开发者基于实际业务场景开发用于部署模型或应用的流水线工具. Workflow(也称工作流,下文中均可使用工作流进行描述)本质是开发者基于实际业务场景开发用于部署模型或应用的 ...

  9. 基于FPGA的SATA3.0主机控制器IP

    SATA3.0 Host Controller IP SATA3.0 Host IP不仅实现了SATA协议的PHY(物理层).Link(链路层)和TRN(传输层),并且实现了CMD(命令层)和APP( ...

  10. Java 编码那些事(二)

    建议先阅读:Java 编码那些事(一) 现在说说编码在Java中的实际运用.在使用tomcat的时候,绝大部分同学都会遇到乱码的问题,查查文档,google一下解决方案啥的,都是设置这里,设置那里,或 ...