当我在雪花程序中使用 regex_replace 时不起作用

When i use regex_replace in procedure in snowflake not working

create or replace function sppi()
    returns VARCHAR
    language javascript
    as
    $$
    var A= regexp_replace('Customers - (NY)','\(|\)','');
    return A;
    $$
    ;
call sppi();

好吧,从 console/WebUI 的角度来看,您的 REGEXP 是有效的:

select 'Customers - (NY)' as str, regexp_replace(str,'\(|\)','');
STR REGEXP_REPLACE(STR,'\(|\)','')
Customers - (NY) Customers - NY

所以在 javascipt 函数中你不能直接调用 SQL 函数,所以如果我们转向 Snowflake 脚本我们可以。

BEGIN 
    let A := regexp_replace('Customers - (NY)','\(|\)','');
   
   RETURN :A;
END;
anonymous block
Customers - NY

where-as 如果您想继续使用 Javasript,让我们使用 Javascript 替换:

create or replace function sppi()
    returns VARCHAR
    language javascript
    as
    $$
    var A= 'Customers - (NY)'.replace(/\(|\)/g,'');
    return A;
    $$
    ;
select sppi();
SPPI()
Customers - NY