如何解决如果字符串以8个字符开头且带有破折号“-”,则插入特定标签
在SQL中(特别是在Snowflake中),我有一个看起来像这样的字符串:
Col_A
afdafe12-123-42141
jkk121jd-313-129en
dje-332-djak
如何制定规则,如果模式以8个字符开头并带有“-”,则标记为“保持”?
我想做一个如下情况的情况:
case when Col_A "regex rule" then 'keep'
when Col_A like 'dje%' then 'remove' else 'disregard' end new_col
from dataframe
解决方法
那将是:
col_a rlike '^.{8}-'
故障:
^ beginning of the string
.{8} any 8 characters
- a dash
或者如果您希望第一个破折号位于字符串的第9位:
col_a rlike '^[^-]{8}-'
...,其中'[^-]'
表示:'-'
以外的任何字符。
您可以使用8个下划线。下划线匹配单个字符
case when Col_A like '________-%' then 'keep'
when Col_A like 'dje%' then 'remove'
else 'disregard' end as new_col
提示:雪花也支持ilike
,这是不区分大小写的like
。您可以根据需要将其交换出去
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。