SQL-从字符串中获取特定文本
我有一个包含以下字符串的列:SQL-从字符串中获取特定文本,sql,regex,google-bigquery,Sql,Regex,Google Bigquery,我有一个包含以下字符串的列: ['autre__renvoi_vers_un_mail', 'contact_type__email'] ['contact_type__email', 'internal__shop', 'uk'] 我只需要从字符串中获取联系人类型部分(每行仅显示一次) 有什么建议吗?您可以使用,比如: 这将匹配字符串'contact\u type\uuuuuuuuuuuuuu,后跟一系列字母、数字或下划线(通常定义为单词字符)。您可以使用,如: 这将匹配字符串'contac
['autre__renvoi_vers_un_mail', 'contact_type__email']
['contact_type__email', 'internal__shop', 'uk']
我只需要从字符串中获取联系人类型
部分(每行仅显示一次)
有什么建议吗?您可以使用,比如:
这将匹配字符串'contact\u type\uuuuuuuuuuuuuu
,后跟一系列字母、数字或下划线(通常定义为单词字符)。您可以使用,如:
这将匹配字符串'contact\u type\uuuuuuuuuuuu
,后跟一系列字母、数字或下划线(通常定义为单词字符)。给定此示例:
create table t (col varchar(100));
insert into t values
('[''autre__renvoi_vers_un_mail'', ''contact_type__email'']'),
('[''contact_type__email'', ''internal__shop'', ''uk'']');
您可以使用:
select
substring
(
col,
charindex('contact_type', col) + 14,
charindex('''', col, charindex('contact_type', col)) - charindex('contact_type', col) - 14
)
from
t;
DBFIDLE给出此示例:
create table t (col varchar(100));
insert into t values
('[''autre__renvoi_vers_un_mail'', ''contact_type__email'']'),
('[''contact_type__email'', ''internal__shop'', ''uk'']');
您可以使用:
select
substring
(
col,
charindex('contact_type', col) + 14,
charindex('''', col, charindex('contact_type', col)) - charindex('contact_type', col) - 14
)
from
t;
DBFIDLE@OksanaOk:欢迎!只是想检查一下,如果您使用
\\w
而不是\w
,该怎么办?@OksanaOk:欢迎!只是想检查一下,如果您使用\\w
而不是\w
?