在oracle varchar列值中给定符号后面的字符数

我将如何去计算某个角色后的角色数量。 我是甲骨文的新手,但是我学到了很多东西,但是现在我很难过。 我发现了一个函数,它会为你提供一个子字符串,并且我找到了一个函数,它会给你一个字符串的长度。 我正在检查一个电子邮件地址myemail@thedomain.com。 我想检查''后的长度。 在电子邮件中。

SELECT email
FROM user_table
WHERE length(substr(email, /*what values*/, /*to put here*/))

我不知道是否真的有可能找到最终的地点。“ 在电子邮件字符串?


我不确定我会使用substr 。 你可以尝试这样的事情:

select length('abcd@efgh.123.4567') - instr('abcd@efgh.123.4567', '.', -1) from dual

使用instr(..,..,-1)从最后一个字符向后搜索以找到位置。


既然你正在做检查,我建议你用正则表达式使用REGEXP_INSTR来验证格式。 例如,我在这个网站上发现的电子邮件验证是REGEXP_INSTR(email, 'w+@w+(.w+)+') > 0

我没有自己检查,但看起来相当不错。

干杯。

链接地址: http://www.djcxy.com/p/92763.html

上一篇: Count characters after given symbol in oracle varchar column value

下一篇: mail field using regex