Я использую ora_hash, чтобы получить случайный хеш, который выглядит так.PL/SQL установить точную длину случайным ora_hash
SELECT ORA_HASH (userID || SYSTIMESTAMP || SYS_GUID()) AS hash
FROM DUAL;
userID
является nNumber с 5 цифр. Я проверил это долгое время и заметил, что он генерирует мне число с длиной от 7 до 10 цифр.
Теперь я хотел бы знать, если есть хороший способ, чтобы создать хэш, который всегда содержит 10 цифр, означает число между 1000000000 и 9999999999.
Или я должен взять на себя differenct от длины к номер 10 и вычислить его? Каков наилучший способ
Я считаю, что максимальное значение, которое будет выдано 'ORA_HASH()', составляет '4294967295', что составляет десять цифр и меньше, чем' 9999999999'. См. [Документация] (https://docs.oracle.com/cd/B12037_01/server.101/b10759/functions097.htm) здесь. –
Я вижу, '9999999999' был всего лишь номером для показа диапазона. Моя цель - создать хэш, который содержит всегда 10 цифр. – Ovoxo
Я не уверен, что это можно сделать, используя только функцию. Можно установить max, но минимум неявно равен нулю. –