可以根据字典表中的内容,提取另一文本中所包含的内容

有什么办法,可以根据字典表中的内容,提取另一文本中所包含的内容?图一字典表,图二文本内容

img

img

包含的话需要返回什么

引用chatGPT作答,在SQL中,可以使用LIKE或者REGEXP函数来根据字典表中的内容,提取另一文本中所包含的内容。

假设有一个字典表(dictionary_table),包含关键词(keyword)和它们的ID(id)。有另一个文本表(text_table),其中有一列文本(text_column),我们想要提取包含字典表中关键词的文本。

使用LIKE函数:

SELECT text_column
FROM text_table
WHERE text_column LIKE CONCAT('%', keyword, '%');

使用REGEXP函数:

SELECT text_column
FROM text_table
WHERE text_column REGEXP CONCAT('[[:<:]]', keyword, '[[:>:]]');

其中,CONCAT函数是用来将通配符和关键词连接起来的。LIKE函数中,%是通配符,表示匹配任何字符,包括0个字符。REGEXP函数中,[[:<:]]和[[:>:]]是边界符,用于确保关键词被包含在单词中,而不是其他单词的一部分。

这些函数将返回包含关键词的所有文本。如果需要获取关键词所在的行号或者ID,可以使用JOIN语句将文本表和字典表连接起来,然后提取需要的列。


SELECT REGEXP_REPLACE('xxxx测试xx其他xxxx等等xxx存在', '[^测试其他存在]+', '')
FROM dual;