should be it
This commit is contained in:
293
external/duckdb/test/sql/function/string/test_like.test
vendored
Normal file
293
external/duckdb/test/sql/function/string/test_like.test
vendored
Normal file
@@ -0,0 +1,293 @@
|
||||
# name: test/sql/function/string/test_like.test
|
||||
# description: Test LIKE statement
|
||||
# group: [string]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
# scalar like
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'bbb'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'abab'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'aaa'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE '%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE '%a'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE '%b'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'a%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'b%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'a_a'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE 'a_'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE '__%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'aaa' LIKE '____%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'ababac' LIKE '%abac'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'ababac' LIKE '%%%abac'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'ababac' LIKE 'abab%%%%%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'ababac' LIKE '%%%a%%%b%%a%b%%%%%a%c%%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'ababac' LIKE '%%%a%%%b%%a%b%%%%%a%d%%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'ababac' NOT LIKE '%abac'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'aabbccc' LIKE '%aa%bb%cc'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE ''
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra elephant tiger horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra elephant tiger horse%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%zebra elephant tiger horse%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%zebra elephant tiger horse blabla'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra elephant tiger horse blabla%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%elephant%horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%elephant%tiger%horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%zebra%elephant%tiger%horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%elephant%tiger%horse%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%zebra%elephant%tiger%horse%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE '%%zebra %%%ele%phan%t t%ig%er% horse%'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%tiger%horse'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' LIKE 'zebra%tiger%elephant%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE ''
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE '%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra'
|
||||
----
|
||||
1
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra elephant tiger horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE '%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%elephant%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%elephant%tiger%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE '%zebra%elephant%tiger%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%elephant%tiger%horse%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE '%zebra%elephant%tiger%horse%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE '%%zebra %%%ele%phan%t t%ig%er% horse%'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%tiger%horse'
|
||||
----
|
||||
0
|
||||
|
||||
query T
|
||||
SELECT 'zebra elephant tiger horse' NOT LIKE 'zebra%tiger%elephant%horse'
|
||||
----
|
||||
1
|
||||
|
||||
# like with table
|
||||
statement ok
|
||||
CREATE TABLE strings(s STRING, pat STRING);
|
||||
|
||||
statement ok
|
||||
INSERT INTO strings VALUES ('abab', 'ab%'), ('aaa', 'a_a'), ('aaa', '%b%')
|
||||
|
||||
query T
|
||||
SELECT s FROM strings WHERE s LIKE 'ab%'
|
||||
----
|
||||
abab
|
||||
|
||||
query T
|
||||
SELECT s FROM strings WHERE 'aba' LIKE pat
|
||||
----
|
||||
abab
|
||||
aaa
|
||||
aaa
|
||||
|
||||
query T
|
||||
SELECT s FROM strings WHERE s LIKE pat
|
||||
----
|
||||
abab
|
||||
aaa
|
||||
|
||||
# Reject invalid collations
|
||||
statement error
|
||||
SELECT 'hello' LIKE 'hê?llo' COLLATE idontexist;
|
||||
----
|
||||
<REGEX>:.*Catalog Error.*does not exist.*
|
||||
Reference in New Issue
Block a user