基于此处的规范(部分STRING函数,参数)
无法设置混合大小写的字母数字字符串。是否不支持此功能 有进一步的设置需要考虑吗?
答案 0 :(得分:2)
如果功能正常.....
CREATE OR REPLACE FUNCTION GET_RANDOM_STRING(v_length NUMBER) RETURN VARCHAR2
IS
lKey VARCHAR2(4000);
BEGIN
FOR I IN 1..v_length LOOP
lKey := lKey || substr( 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', mod(abs(dbms_random.random), 62)+1, 1);
END LOOP;
RETURN lKey;
END;
/
答案 1 :(得分:2)
此外,您可以根据 cagcowboy 中的功能进行简单查询。类似的东西:
SELECT LISTAGG (
(SELECT SUBSTR ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rnd, 1)
FROM DUAL),
'')
WITHIN GROUP (ORDER BY lvl)
FROM (SELECT LEVEL AS lvl, MOD (ABS (DBMS_RANDOM.random), 62) + 1 AS rnd
FROM DUAL
CONNECT BY LEVEL < 10)
其中10是随机字符串的长度