SELECT CONCAT( LEFT(UUID(),8),'-', MID(UUID(),9,4),'-', MID(UUID(),13,4),'-', MID(UUID(),17,4),'-', RIGHT(UUID(),12) ) AS random_string;
该查询将生成一个类似于”4d4c4a03-e118-4cfd-9d2e-19b73fd26628″的随机字符串。这里使用了MySQL的UUID函数来生成唯一标识符,然后拼接为一个字符串。
如果需要自定义字符串长度,可以使用MySQL的SUBSTRING函数截取UUID的一部分:
SELECT CONCAT( SUBSTRING(UUID(),1,8),'-', SUBSTRING(UUID(),10,4),'-', SUBSTRING(UUID(),15,4),'-', SUBSTRING(UUID(),20,4),'-', SUBSTRING(UUID(),25,12) ) AS random_string;
此查询将生成类似于”b7733b3f-e527-31e8-2ab1-20b8270dfa72″的随机字符串,其中UUID被分成了不同长度的五个部分,并分别用SUBSTRING函数截取。
需要注意的是,UUID虽然是唯一标识符,但并不保证是100%随机的。如果需要更高强度的随机数生成,建议使用专门的随机数库。