如何在 SQL 或 PL/SQL 中查找给定字符串(列数据)中的第 5 个字符? [关闭]

Posted

技术标签:

【中文标题】如何在 SQL 或 PL/SQL 中查找给定字符串(列数据)中的第 5 个字符? [关闭]【英文标题】:How to find 5th character in a given string(column data) in SQL or PL/SQL? [closed] 【发布时间】:2013-12-17 18:20:41 【问题描述】:

我在表中有一列说 ENAME,我需要找出每个值中的第 5 个字符。换句话说,如何在 SQL、PL/SQL 中找到给定字符串中的第 5 个字符......

【问题讨论】:

如果您的字段中的值少于 5 个字符,会发生什么情况? 在这种情况下应该打印 null 【参考方案1】:

使用子串函数:

SELECT SUBSTR(fieldname, 5,1)
FROM YourTable

【讨论】:

【参考方案2】:

你能做到这些结果的左 5 和右 1 吗?如果字符串少于 5 个字符,则需要附加一些字符,如果少于 5 个,则需要添加最右边的字符。

【讨论】:

【参考方案3】:

如果您想在字段少于 5 个字符时给出 null,那么 Goat Co 的解决方案是完美的。但是您可以随时将其替换为适合您的字符串以通知您。

见下文:

用标签作为 ( 从双重中选择“Apple”名称 联合所有 从双重中选择“详细信息” 联合所有 从双重中选择“猫” ) 从选项卡中选择 NVL(substr(ename,5,1), 'NA');

【讨论】:

以上是关于如何在 SQL 或 PL/SQL 中查找给定字符串(列数据)中的第 5 个字符? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式:如何在 PL/SQL 中实现负向后查找

如何计算 SQL 或 PL/SQL 中字符串末尾的此字符的实例数?

如何在 pl/sql (oracle 9i) 中查找数据类型的大小?

在 oracle 中使用正则表达式查找 POBOX - PL/SQL

PL/SQL Regex 查找最后一个数字并拆分

如何使用正则表达式或任何其他方法在 PL/SQL 中提取单引号内的字符串 [重复]