我正在使用 Snowflake 数据库,希望找到一个可以查找和替换多个项目的表达式。有问题的列包含包含 Y、Yes、N、NO 和其他不相关字符串的行。因此,在下面的示例中,Y 和 Yes 替换为 TRUE,N 和 No 替换为 FALSE,其他字符串保持原样。我在这上面浪费了太多时间。非常感谢任何帮助!
dog
Yes
No
Y
N
Zip
这有效: REGEXP_REPLACE(REGEXP_REPLACE(VALUE,'^y(es) $','TRUE',1,0,'i'),'^n(o) $','FALSE',1,0,'i ') 但我希望将其简化为单个表达式,因为还有其他需要的替换,并且我希望避免函数中出现大量函数...
这不起作用,但我认为它显示了目标:REGEXP_REPLACE(VALUE,'(y(es)?)|(N(o)?)','$1TRUE$2FALSE',1,0,'i')
https://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended