Le SQLite randomblob()
renvoie un blob contenant des octets pseudo-aléatoires.
Le nombre d'octets est déterminé par son argument. Si son argument est inférieur à 1, un blob aléatoire de 1 octet est renvoyé.
Exemple
Voici un exemple pour illustrer.
SELECT randomblob(8);
Résultat :
randomblob(8) ------------- EqƋy
Générer un GUID
Vous pouvez utiliser randomblob()
en conjonction avec le hex()
pour générer un identifiant global unique (GUID) en procédant comme suit.
SELECT hex(randomblob(16));
Résultat :
6A70117D7C25523E0AF82C89D2A0A602
Notez qu'un GUID, également appelé identificateur universel unique (UUID), est de 128 bits (16 octets). Par conséquent, vous devez spécifier 16 comme argument si vous souhaitez générer un vrai GUID.
Rien ne vous empêche de générer une valeur avec plus ou moins d'octets.
Vous pouvez également utiliser le lower()
si vous avez besoin que le GUID utilise des lettres minuscules.
SELECT lower(hex(randomblob(16)));
Résultat :
50ecfe91179900a8e8cdc583ad5a7658