Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Hasilkan String Acak Alfanumerik Huruf Besar dan Kecil di Oracle

Anda dapat membuat fungsi Anda sendiri. Ini adalah salah satu opsi:

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

Anda mungkin ingin menyesuaikan 0.5 untuk memperhitungkan ukuran kolam yang berbeda - 26 untuk l vs. 36 untuk x . (.419354839? ). Anda juga dapat menggunakan value() dan meneruskan rentang awal dan akhir dari nilai karakter, tetapi itu akan menjadi spesifik set karakter.

Seperti mengapa ... apakah Oracle membutuhkan alasan? Penggunaan x mungkin menyarankan bahwa itu awalnya heksadesimal dan diperluas untuk menyertakan semua huruf besar, tanpa itu terjadi pada mereka untuk menambahkan versi huruf campuran pada saat yang sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menampilkan proses yang berjalan di Oracle DB?

  2. Alternatif dari sys_refcursor

  3. alat pengembang oracle sql - data tidak tersedia setelah komit

  4. Oracle SQL, gabungkan beberapa kolom + tambahkan teks

  5. Buat ulang Oracle Databse dari file .dbf setelah menginstal ulang Oracle Enterprise 11gR2