从 Netezza 中的字符串中获取精确匹配
Get exact match from a string in Netezza
我正在尝试从一个字符串中提取一个子字符串并与其他字符串进行比较,看它是否完全匹配。有人可以分享您对如何使用正则表达式完成此操作的想法。谢谢。
**Input column**
abc
abcd
**What I have tried?**
LIKE '%abc%'
**Output**
abc
abcd
但我只需要 abc 并在 case.How 中丢弃 abcd 可以使用 LIKE 来完成吗?我想 LIKE 不支持完成这就是我有兴趣使用正则表达式解决这个问题的原因。谢谢。
解决方案将取决于您如何区分 'abc' 和 'abcd'。根据您的问题,我推断答案是单词边界的正则表达式概念。
Netezza 不支持 LIKE 中的一般正则表达式功能,因此您必须使用类似 regexp_extract 功能的功能,包括 Netezza SQL 扩展工具包。
select regexp_extract('abc abcd','\babc\b');
REGEXP_EXTRACT
----------------
abc
(1 row)
SQL 扩展工具包包含在 Netezza 中,但必须由您的管理员配置并提供。
我正在尝试从一个字符串中提取一个子字符串并与其他字符串进行比较,看它是否完全匹配。有人可以分享您对如何使用正则表达式完成此操作的想法。谢谢。
**Input column**
abc
abcd
**What I have tried?**
LIKE '%abc%'
**Output**
abc
abcd
但我只需要 abc 并在 case.How 中丢弃 abcd 可以使用 LIKE 来完成吗?我想 LIKE 不支持完成这就是我有兴趣使用正则表达式解决这个问题的原因。谢谢。
解决方案将取决于您如何区分 'abc' 和 'abcd'。根据您的问题,我推断答案是单词边界的正则表达式概念。
Netezza 不支持 LIKE 中的一般正则表达式功能,因此您必须使用类似 regexp_extract 功能的功能,包括 Netezza SQL 扩展工具包。
select regexp_extract('abc abcd','\babc\b');
REGEXP_EXTRACT
----------------
abc
(1 row)
SQL 扩展工具包包含在 Netezza 中,但必须由您的管理员配置并提供。