【发布时间】:2014-07-23 12:54:04
【问题描述】:
基于此处的规范(STRING 函数、参数部分)
无法设置大小写混合的字母数字字符串。是否不支持此功能或 还有其他设置需要考虑吗?
【问题讨论】:
基于此处的规范(STRING 函数、参数部分)
无法设置大小写混合的字母数字字符串。是否不支持此功能或 还有其他设置需要考虑吗?
【问题讨论】:
此外,您可以根据 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 是随机字符串的长度
【讨论】:
如果功能没问题.....
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;
/
【讨论】: