如何 return 字段中的一组唯一字符 (SQL)?
how to return a unique set of characters within a field (SQL)?
基本上我正在尝试 return 标签列中包含 up_up1_up2_up3、up4_ 的任何字段。
我面临的问题是我只想显示这些标签而不是其他标签。
该字段的每一行都包含混合字符,因此我发现很难使用 CASE 语句 substr。
我已经能够 return 整个领域使用这个 sql:
select tags
from products
where tags like '%up_%'
or tags like '%Up*_%'
有什么想法吗?
非常感谢,
乔纳森
编辑
列中的数据:
almost gone,
Autumn/Winter,
BEIGE
Coats Jackets
Cream, Gender_Female
ISAWITFIRST.com
Neutrals
Pcat-Coats & Jackets
S
Sale
SALE:New In Coats & Jackets
Sale:SALE:New In Clothing
Scat-Coat
Up1_Cup-Detail-Sheer-Panel-Bodysuit-Cream-Jl33334
Up_High-Waisted-Skinny-Trousers-White-Jl34117
我希望能够 return 仅 UP1_ 和 Up_ 标签。并想删除其余部分..
编辑 2
此列由外部站点填充
例如,对于 PostgreSQL,您可以使用以下内容:
select substring(tags from '[Uu]p[0-9]?_')
from products
where tags like '%up_%'
or tags like '%Up*_%'
请根据您的具体需要调整第一行中的正则表达式。
对于其他数据库系统,将子字符串函数交换为以下之一:
对于 TSQL,请查看 "patindex" 函数。
对于 Athena,请考虑 REGEXP_SUBSTR 函数,如下所述:https://docs.aws.amazon.com/redshift/latest/dg/REGEXP_SUBSTR.html
基本上我正在尝试 return 标签列中包含 up_up1_up2_up3、up4_ 的任何字段。
我面临的问题是我只想显示这些标签而不是其他标签。
该字段的每一行都包含混合字符,因此我发现很难使用 CASE 语句 substr。
我已经能够 return 整个领域使用这个 sql:
select tags
from products
where tags like '%up_%'
or tags like '%Up*_%'
有什么想法吗?
非常感谢, 乔纳森
编辑 列中的数据:
almost gone,
Autumn/Winter,
BEIGE
Coats Jackets
Cream, Gender_Female
ISAWITFIRST.com
Neutrals
Pcat-Coats & Jackets
S
Sale
SALE:New In Coats & Jackets
Sale:SALE:New In Clothing
Scat-Coat
Up1_Cup-Detail-Sheer-Panel-Bodysuit-Cream-Jl33334
Up_High-Waisted-Skinny-Trousers-White-Jl34117
我希望能够 return 仅 UP1_ 和 Up_ 标签。并想删除其余部分..
编辑 2
此列由外部站点填充
例如,对于 PostgreSQL,您可以使用以下内容:
select substring(tags from '[Uu]p[0-9]?_')
from products
where tags like '%up_%'
or tags like '%Up*_%'
请根据您的具体需要调整第一行中的正则表达式。
对于其他数据库系统,将子字符串函数交换为以下之一:
对于 TSQL,请查看 "patindex" 函数。 对于 Athena,请考虑 REGEXP_SUBSTR 函数,如下所述:https://docs.aws.amazon.com/redshift/latest/dg/REGEXP_SUBSTR.html