# name: test/sql/projection/select_star_like.test # description: SELECT * LIKE # group: [projection] statement ok PRAGMA enable_verification statement ok CREATE TABLE integers(col1 INTEGER, col2 INTEGER, k INTEGER) statement ok INSERT INTO integers VALUES (1, 2, 3) query II SELECT COLUMNS(lambda x: x LIKE 'col%') FROM integers ---- 1 2 query II SELECT * LIKE 'col%' FROM integers ---- 1 2 # not like query I SELECT * NOT LIKE 'col%' FROM integers ---- 3 # ilike query II SELECT * ILIKE 'COL%' FROM integers ---- 1 2 # regex query II SELECT * SIMILAR TO '.*col.*' FROM integers ---- 1 2 # exclude query I SELECT * EXCLUDE (col1) SIMILAR TO '.*col.*' FROM integers ---- 2 # SIMILAR TO alias can use regex groups query II SELECT c2, c1 FROM ( SELECT * SIMILAR TO 'number(\d+)' AS 'c\1' FROM (SELECT 1 AS number1, 2 AS number2, 3 AS end) ) ---- 2 1 # LIKE query I SELECT val FROM ( SELECT * NOT LIKE '%number%' AS val FROM (SELECT 1 AS number1, 2 AS number2, 3 AS end) ) ---- 3 # ESCAPE query I SELECT * LIKE '\_%' ESCAPE '\' AS val FROM (SELECT 1 AS number1, 2 AS _number2) ---- 2 query I SELECT * NOT LIKE '\_%' ESCAPE '\' AS val FROM (SELECT 1 AS number1, 2 AS _number2) ---- 1 query I SELECT * ILIKE '\_NUM%' ESCAPE '\' AS val FROM (SELECT 1 AS number1, 2 AS _number2) ---- 2 query I SELECT * NOT ILIKE '\_NUM%' ESCAPE '\' AS val FROM (SELECT 1 AS number1, 2 AS _number2) ---- 1 # non-constant pattern statement error SELECT * SIMILAR TO pattern FROM integers, (SELECT '.*col.*') t(pattern) ---- must be a constant # unsupported function statement error SELECT * + 42 FROM integers ---- cannot be applied to a star expression # replace statement error SELECT * REPLACE (col1 + 42 AS col1) SIMILAR TO '.*col.*' FROM integers ---- Replace list cannot be combined with a filtering operation # rename statement error SELECT * RENAME (col1 AS other_) SIMILAR TO '.*col.*' FROM integers ---- Rename list cannot be combined with a filtering operation