PostgreSQL 9.6.24:如何将employee表name字段改为类姓名随机字符串
解决方案:生成带空格的类姓名格式随机字符串
针对PostgreSQL 9.6.24版本,你可以通过拼接两个独立的随机子串并加入空格的方式,生成符合要求的类姓名格式字符串。以下是可行的UPDATE语句:
基础版(全小写格式)
UPDATE employee SET name = concat( substr(md5(random()::text), 1, 6), ' ', substr(md5(random()::text), 1, 6) ) WHERE userid = 120;
语句说明
random()::text:将随机数值转换为文本类型,彻底解决substr函数的参数类型不匹配问题md5(...):基于随机文本生成MD5哈希字符串,提供足够多的随机字符来源substr(..., 1, 6):从哈希字符串中截取前6个字符作为姓名的一部分,你可以根据需求调整截取长度(比如改成5或7)concat(...):将两个随机子串与空格拼接,形成“xxxxxx xxxxxx”的类姓名格式
进阶版(首字母大写,更贴近真实姓名)
如果需要更符合常规姓名的首字母大写格式,可以使用initcap函数:
UPDATE employee SET name = concat( initcap(substr(md5(random()::text), 1, 6)), ' ', initcap(substr(md5(random()::text), 1, 6)) ) WHERE userid = 120;
这条语句会生成类似“Pqxhud Urrhrw”的格式。
内容的提问来源于stack exchange,提问作者yesIamFaded
相关产品推荐
相关产品推荐

