Strings randômicas com SQL

Strings randômicas com SQL

Neste artigo vamos ver como é possivel gerar strings randômicas utilizando SQL. Vamos ver exemplos de como criar string aleatórias para o SQL Server e para o MySQL. 

Os primeiros exemplos vão ser para o SQL Server. Para gerar uma string randômica, você pode executar a seguinte consulta.

SELECT NEWID() AS codigo

A função NEWID() gera uma string randômica de 36 posições. Como ela tambem retorna traços, se faz necessário um pequeno ajuste para retirar os traços do resultado.

SELECT REPLACE(NEWID(),'-','') AS codigo

Para delimitar o tamanho do código, você pode usar a função LEFT, que permite selecionar uma determinada quantidade de registros a partir da esquerda. Neste exemplo, vamos criar uma string randômica de 10 posições

SELECT LEFT(REPLACE(NEWID(),'-',''),10) AS codigo

Agora chegou a vez do MYSQL. Neste banco de dados, para gerar uma string randômica podemos usar UUID()

SELECT UUID() as codigo

A função UUID() vai gerar uma string randômica de 36 posições. Da mesma forma que o SQL Server, ela também vai gerar um resultado contendo traços, que podemos retirar da seguinte forma:

SELECT REPLACE(UUID(),'-','') as codigo

Para limitar a quantidade de caracteres no resultado, também vamos utlizar a função LEFT

SELECT LEFT(REPLACE(UUID(),'-',''), 10) as codigo

Uma outra forma de retornar uma string randômica no MySQL é utilizar a função RAND junto com a função MD5. Nossa string de 10 posições poderia ser gerada da seguinte forma:

SELECT SUBSTRING(MD5(RAND()) FROM 1 FOR 10) AS codigo

 

Outros conteudos que podem ser de seu interesse

SQL vs Excel - tabelas dinâmicas e agrupamento de resultados
16/01/2022SQL

SQL vs Excel - tabelas dinâmicas e agrupamento de resultados

Compare as formas de agrupar resultados no Excel e no SQL

Saiba mais...
SQL vs DAX - Operações básicas
28/11/2021SQL

SQL vs DAX - Operações básicas

Um comparativo entre as operações básicas no SQL e seus equivalentes no DAX

Saiba mais...

Conteúdo sobre banco de dados sem complicação!