In Snowflake Using regexp_like to search for data matching SSN pattern

In Snowflake Using regexp_like to search for data matching SSN pattern
typescript
Ethan Jackson

I am trying to use regexp_like to search for an SSN pattern of 123-45-6789 OR XXXXXXXXX , I tried this but this is not working in Snowflake, this works in Oracle.

select * from customers where regexp_like(PER_NUM, '^\d{3}-?\d{2}-?\d{4}$');

The table structure and sample data is as follows.

CREATE or replace TABLE data_db.sch.customers ( account_number NUMBER(38,0), first_name VARCHAR(16777216), last_name VARCHAR(16777216), email VARCHAR(16777216), per_num VARCHAR(16777216), SSN VARCHAR(16777216), nine_char VARCHAR(16777216) ); INSERT INTO data_db.sch.customers (account_number, first_name, last_name, email, per_num,SSN, nine_char) VALUES (1589420, 'john', 'doe', '

Answer

\d should become \\d:

select * from customers where regexp_like(PER_NUM, '^\\d{3}-?\\d{2}-?\\d{4}$');

or using RLIKE:

select * from customers where PER_NUM rlike '^\\d{3}-?\\d{2}-?\\d{4}$';

Related Articles