Vertica Quick Tip: Generating a Random String

Posted January 24, 2018 by Soniya Shah, Information Developer

Database Server Room
This blog post was authored by Jim Knicely.

We saw in a previous Vertica Quick Tip that we can create a SQL function that generates random dates. How about one that generates random strings?

Example: dbadmin=> CREATE OR REPLACE FUNCTION randomstring (x INT) RETURN VARCHAR dbadmin-> AS dbadmin-> BEGIN dbadmin-> RETURN CASE x dbadmin-> WHEN 1 THEN CHR(RANDOMINT(25) + 65) dbadmin-> WHEN 2 THEN CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) dbadmin-> WHEN 3 THEN CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) dbadmin-> WHEN 4 THEN CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) || dbadmin-> CHR(RANDOMINT(25) + 65) dbadmin-> WHEN 5 THEN CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) || dbadmin-> CHR(RANDOMINT(25) + 65) || CHR(RANDOMINT(25) + 65) dbadmin-> ELSE dbadmin-> NULL dbadmin-> END; dbadmin-> END; CREATE FUNCTION dbadmin=> SELECT randomstring(5); randomstring -------------- KVUSY (1 row) dbadmin=> SELECT randomstring(5); randomstring -------------- FCUFS (1 row) dbadmin=> SELECT randomstring(2); randomstring -------------- NI (1 row) Have fun!