问题描述
嗨,奇尔斯,康纳,
您能否帮助或建议一种基于模式生成字符串的方法
图案-^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
我需要生成数百万个字符串f9f8c8e2-0b20-4160-8f74-e836f4661fc5与模式匹配。
例如。
您能否帮助或建议一种基于模式生成字符串的方法
图案-^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$
我需要生成数百万个字符串f9f8c8e2-0b20-4160-8f74-e836f4661fc5与模式匹配。
例如。
SELECT * FROM dual WHERE REGEXP_LIKE('f9f8c8e2-0b20-4160-8f74-e836f4661fc5', '^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$');复制
专家解答
你生成这些字符串到底是为了什么?看起来像MD5哈希。
如果这是你要找的,你可以使用标准哈希生成输入值:
如果你需要它的格式如图所示,使用一些substr操作:
这为每个输入字符串提供了不同的值:
如果您需要具有十六进制值1-f的随机字符串,则可以使用dbms_random生成值1-16。然后to_char它们与XX格式掩码为十六进制:
如果这是你要找的,你可以使用标准哈希生成输入值:
select lower ( standard_hash ( dummy, 'MD5' ) ) str from dual; STR 02129bb861061d1a052c592e2dc6b383复制
如果你需要它的格式如图所示,使用一些substr操作:
with rws as ( select lower ( standard_hash ( dummy, 'MD5' ) ) str from dual ) select substr ( str, 1, 8 ) || '-' || substr ( str, 9, 4 ) || '-' || substr ( str, 13, 4 ) || '-' || substr ( str, 17, 4 ) || '-' || substr ( str, 21 ) md5 from rws; MD5 02129bb8-6106-1d1a-052c-592e2dc6b383复制
这为每个输入字符串提供了不同的值:
with rws as ( select level val, lower ( standard_hash ( level, 'MD5' ) ) str from dual connect by level <= 5 ) select substr ( str, 1, 8 ) || '-' || substr ( str, 9, 4 ) || '-' || substr ( str, 13, 4 ) || '-' || substr ( str, 17, 4 ) || '-' || substr ( str, 21 ) md5 from rws; MD5 dcf82b57-bab4-a7fc-b9c2-f14353c7460b 8dafe7ba-c683-b104-0a19-fc449c8f8743 42f95b73-6dba-041c-a8f8-f3ae0af67660 155da696-6e67-ad17-7958-54cf5e2ee33e fc966bc5-914a-0499-b45e-554aedf3418f复制
如果您需要具有十六进制值1-f的随机字符串,则可以使用dbms_random生成值1-16。然后to_char它们与XX格式掩码为十六进制:
select listagg ( to_char ( dbms_random.value ( 1, 16 ), 'fmxx' ) ) within group ( order by level ) str from dual connect by level <= 8 STR 67fb3eb10复制
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
563次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
487次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
462次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
455次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
454次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
442次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
429次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
417次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
401次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
374次阅读
2025-04-17 17:02:24