Oracle
 sql >> база данни >  >> RDS >> Oracle

Генериране на случаен низ с главни и малки букви и цифри в Oracle

Можете да направите своя собствена функция. Това е една опция:

create or replace function random_str(v_length number) return varchar2 is
    my_str varchar2(4000);
begin
    for i in 1..v_length loop
        my_str := my_str || dbms_random.string(
            case when dbms_random.value(0, 1) < 0.5 then 'l' else 'x' end, 1);
    end loop;
    return my_str;
end;
/

select random_str(30) from dual;

RANDOM_STR(30)
--------------------------------------------------------------------------------
pAAHjlh49oZ2xuRqVatd0m1Pv8XuGs

Може да искате да коригирате 0.5 за да се вземат предвид различните размери на басейна - 26 за l срещу 36 за x . (.419354839? ). Можете също така да използвате value() и да подадете в началния и крайния диапазон на стойностите на знаците, но това ще бъде специфично за набор от знаци.

Що се отнася до това защо... има ли Oracle нужда от причина? Използването на x може да предполагат, че първоначално е бил шестнадесетичен и е бил разширен, за да включва всички главни букви, без да им хрумне да добавят версия със смесени букви едновременно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle/SQL - Изберете определен диапазон от последователни записи

  2. Как да синхронизирам и оптимизирам индекс на Oracle Text?

  3. Провеждане на обща сума върху повтаряща се група по елементи въз основа на време в Oracle SQL

  4. искам да приема въвеждане от потребителя в PL SQL и да го предам на процедура, покажете ми проста програма за това?

  5. Oracle.ManagedDataAccess с Oracle 8.1.7 DB