# 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; ---- :.*Catalog Error.*does not exist.*