雪花正则表达式

时间:2019-01-22 22:57:26

标签: regex snowflake

雪花中的正则表达式新手,请帮忙。我正在尝试创建一个非0或空白的列。

在我的示例中,我想将0作为第一和第二记录的parsed_string和1作为第三记录。

CREATE TEMPORARY TABLE mytable  
( mystring varchar(10) );

INSERT INTO mytable values ('00000');
INSERT INTO mytable values ('  ');
INSERT INTO mytable values ('1234');

select mystring, 
      0 as parsed_string -- need to be changed to get 0 or 1 
from mytable

谢谢 帕万。

1 个答案:

答案 0 :(得分:0)

以下示例结合使用函数,根据字符串中的第一个非空格字符为您提供0或1。

我希望这对您有帮助...丰富

select regexp_count(substr(ltrim(trim('00000'), '0'), 1, 1),'[^0 ]', 1);  --0
select regexp_count(substr(ltrim(trim('    '), '0'), 1, 1),'[^0 ]', 1);   --0
select regexp_count(substr(ltrim(trim('1345'), '0'), 1, 1),'[^0 ]', 1);   --1
select regexp_count(substr(ltrim(trim('  9999'), '0'), 1, 1),'[^0 ]', 1); --1
select regexp_count(substr(ltrim(trim('01233'), '0'), 1, 1),'[^0 ]', 1);  --1
select regexp_count(substr(ltrim(trim(' abc'), '0'), 1, 1),'[^0 ]', 1);   --1
select regexp_count(substr(ltrim(trim('abc .  '), '0'), 1, 1),'[^0 ]', 1);--1