Random 在pl/sql中生成随机值

Random 在pl/sql中生成随机值,random,plsql,Random,Plsql,我尝试在pl/sql中生成随机值。但是我需要这些值必须是fix12个字符 例如,654696544846、234864684687644、438792168431 谢谢。如果您需要由十进制字符组成的严格数字,可以使用dbms_random.value函数,当给定2个值X和Y时,该函数将返回X(包含)和Y(排除)之间的随机数 如果还可以接受字母数字字符,则可以使用dbms_random.string函数: select dbms_random.string('X',12) from dual

我尝试在pl/sql中生成随机值。但是我需要这些值必须是fix12个字符

例如,654696544846、234864684687644、438792168431


谢谢。

如果您需要由十进制字符组成的严格数字,可以使用dbms_random.value函数,当给定2个值X和Y时,该函数将返回X(包含)和Y(排除)之间的随机数

如果还可以接受字母数字字符,则可以使用dbms_random.string函数:

  select dbms_random.string('X',12) from dual
第二个参数是所需的字符串长度,第一个参数指示字符串中允许的字符子集

 'u', 'U' - uppercase alpha characters
 'l', 'L' - lowercase alpha characters
 'a', 'A' - mixed case alpha characters
 'x', 'X' - uppercase alpha-numeric characters
 'p', 'P' - any printable characters.

来源:

如果需要由十进制字符组成的严格数字,可以使用dbms_random.value函数,当给定2个值X和Y时,该函数返回X(包括)和Y(排除)之间的随机数

如果还可以接受字母数字字符,则可以使用dbms_random.string函数:

  select dbms_random.string('X',12) from dual
第二个参数是所需的字符串长度,第一个参数指示字符串中允许的字符子集

 'u', 'U' - uppercase alpha characters
 'l', 'L' - lowercase alpha characters
 'a', 'A' - mixed case alpha characters
 'x', 'X' - uppercase alpha-numeric characters
 'p', 'P' - any printable characters.

来源:

如果需要由十进制字符组成的严格数字,可以使用dbms_random.value函数,当给定2个值X和Y时,该函数返回X(包括)和Y(排除)之间的随机数

如果还可以接受字母数字字符,则可以使用dbms_random.string函数:

  select dbms_random.string('X',12) from dual
第二个参数是所需的字符串长度,第一个参数指示字符串中允许的字符子集

 'u', 'U' - uppercase alpha characters
 'l', 'L' - lowercase alpha characters
 'a', 'A' - mixed case alpha characters
 'x', 'X' - uppercase alpha-numeric characters
 'p', 'P' - any printable characters.

来源:

如果需要由十进制字符组成的严格数字,可以使用dbms_random.value函数,当给定2个值X和Y时,该函数返回X(包括)和Y(排除)之间的随机数

如果还可以接受字母数字字符,则可以使用dbms_random.string函数:

  select dbms_random.string('X',12) from dual
第二个参数是所需的字符串长度,第一个参数指示字符串中允许的字符子集

 'u', 'U' - uppercase alpha characters
 'l', 'L' - lowercase alpha characters
 'a', 'A' - mixed case alpha characters
 'x', 'X' - uppercase alpha-numeric characters
 'p', 'P' - any printable characters.

来源:

dbms\u random.value返回一个介于0和1之间的值,精度为39位,然后乘以10000000000得到12位数字。它有一个小数部分,可以通过适当调用
to_char
将其删除,这也将以恒定长度格式化它

select to_char(dbms_random.value * 1000000000000,'fm000000000000') from dual;

dbms_random.value返回一个介于0和1之间的值,精度为39位,然后乘以10000000000得到12位数字。它有一个小数部分,可以通过适当调用
to_char
将其删除,这也将以恒定长度格式化它

select to_char(dbms_random.value * 1000000000000,'fm000000000000') from dual;

dbms_random.value返回一个介于0和1之间的值,精度为39位,然后乘以10000000000得到12位数字。它有一个小数部分,可以通过适当调用
to_char
将其删除,这也将以恒定长度格式化它

select to_char(dbms_random.value * 1000000000000,'fm000000000000') from dual;

dbms_random.value返回一个介于0和1之间的值,精度为39位,然后乘以10000000000得到12位数字。它有一个小数部分,可以通过适当调用
to_char
将其删除,这也将以恒定长度格式化它

select to_char(dbms_random.value * 1000000000000,'fm000000000000') from dual;


rpad(substr(dbms_random.value,2,12),12,0)看看这个rpad(substr(dbms_random.value,2,12),12,0)看看这个rpad(substr(dbms_random.value,2,12),12,0)看看这个rpad(substr(dbms_random.value,2,12),12,0)看看这个谢谢你的帮助@CarloThanks谢谢你的帮助@CarloThanks谢谢你的帮助@CarloThanks谢谢你的帮助@CarloCan你在回答中有什么解释吗?谢谢@meetar,这个答案让你困惑的是什么?dbms_random.value会返回一个介于0和1之间的值,精度为39位,所以我将它乘以10000000000,得到12位小数的数字。在此之后,我将使用to_char放弃小数部分。不鼓励只使用代码的答案,并且可能会导致删除标志–包括答案中的解释或注释将帮助人们学习,并使您的答案在搜索引擎上更可见!抄送@JeffreyKemp@meetar,通常是的-但在某些情况下(像这样),这似乎是非常明显的,可能没有必要,我想:)但以防万一,我已经将特里吉特的评论改编成了答案。你能在你的答案中提供任何解释吗?谢谢@meetar,这个答案让你困惑的是什么?dbms_random.value会返回一个介于0和1之间的值,精度为39位,所以我将它乘以10000000000,得到12位小数的数字。在此之后,我将使用to_char放弃小数部分。不鼓励只使用代码的答案,并且可能会导致删除标志–包括答案中的解释或注释将帮助人们学习,并使您的答案在搜索引擎上更可见!抄送@JeffreyKemp@meetar,通常是的-但在某些情况下(像这样),这似乎是非常明显的,可能没有必要,我想:)但以防万一,我已经将特里吉特的评论改编成了答案。你能在你的答案中提供任何解释吗?谢谢@meetar,这个答案让你困惑的是什么?dbms_random.value会返回一个介于0和1之间的值,精度为39位,所以我将它乘以10000000000,得到12位小数的数字。在此之后,我将使用to_char放弃小数部分。不鼓励只使用代码的答案,并且可能会导致删除标志–包括答案中的解释或注释将帮助人们学习,并使您的答案在搜索引擎上更可见!抄送@JeffreyKemp@meetar,通常是的-但在某些情况下(像这样),这似乎是非常明显的,可能没有必要,我想:)但以防万一,我已经将特里吉特的评论改编成了答案。你能在你的答案中提供任何解释吗?谢谢@米塔,你怎么搞糊涂了