Это генерирует случайное число от 0 до 0xFFFFFF и преобразует его в шестнадцатеричное:
select '#'
|| to_char(
dbms_random.value(0, to_number('FFFFFF','XXXXXX'))
,'fm0XXXXX')
from dual;
Пример выходных данных:
#37DC45
#05C948
#00000A
В формате преобразования X
означает " преобразовать в шестнадцатеричный », fm
означает« не включать начальный пробел », а 0
означает« при необходимости дополнить результат нулями ».
Если вы предпочитаете строчные буквы, измените X
в x
.