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