oracle - 计算 oracle varchar 列值中给定符号后的字符数

标签 oracle string-length

我将如何计算某个字符之后的字符数。我是 Oracle 的新手,我已经学到了很多东西,但是我在这一点上感到很困惑。我找到了几个可以为您提供子字符串的函数,并且我找到了一个可以为您提供字符串长度的函数。我正在检查一个电子邮件地址,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) 从最后一个字符向后搜索以找到位置。

关于oracle - 计算 oracle varchar 列值中给定符号后的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986988/

相关文章:

oracle - 如何将 bytea 从 Postgres 复制到 Oracle

java - Java 中使用 nextLine() 获取名称长度

c++ - 计算字符串 C++ 中字符数的标准函数

oracle - PL/SQL : ORA-00936: missing expression::Where Am I going wrong in the code?

sql - oracle sql 按偏好搜索

sql - 在Oracle SQL Developer中创建表时权限不足

sql - 有没有比使用子查询更好的方法来编写此 SQL SELECT 语句?

php - 是否有一个 PHP 函数可以在不切割单词的情况下将字符串切割成多个部分?

c++ - 如何获取 std::string 中的字符数?

使用指针算术编码字符串长度函数