如何用Oracle SQL查询用户名全为数字的邮箱地址
Oracle查询用户名全为数字的邮箱方法
Oracle的LIKE运算符没有专门替代%、仅匹配数字的通配符,但可以通过两种方式实现你要的需求:
1. 使用REGEXP_LIKE正则匹配(推荐)
这是最简洁可靠的方式,直接匹配开头到@符号之间全为数字的邮箱:
SELECT * FROM Table_name WHERE REGEXP_LIKE(Column_name, '^[0-9]+@');
^:限定匹配从字符串开头开始[0-9]+:匹配一个或多个连续数字@:匹配邮箱的分隔符,确保数字部分是用户名
2. 使用LIKE结合字符范围(兼容旧版本Oracle)
如果你的Oracle版本不支持正则,可以用LIKE配合字符范围和否定匹配:
SELECT * FROM Table_name WHERE Column_name LIKE '[0-9]%@%' AND Column_name NOT LIKE '%[^0-9]%@%';
[0-9]%@%:确保邮箱以数字开头且包含@NOT LIKE '%[^0-9]%@%':排除用户名部分包含非数字字符的情况
内容的提问来源于stack exchange,提问作者muza920
相关产品推荐
相关产品推荐

