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

Como agrupar vários registros em uma única coluna com SQL
26/06/2022SQL

Como agrupar vários registros em uma única coluna com SQL

Veja como agrupar várias linhas em uma única coluna com SQL

Saiba mais...
Retornando dados do registro anterior ou seguinte com SQL
12/02/2023SQL

Retornando dados do registro anterior ou seguinte com SQL

Veja como trabalhar com as funções LAG e LEAD para retornar dados do registro anterior ou seguinte

Saiba mais...

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