150 lines
1.8 KiB
SQL
150 lines
1.8 KiB
SQL
# name: test/sql/function/string/test_jaccard.test
|
|
# description: Test jaccard function
|
|
# group: [string]
|
|
|
|
statement ok
|
|
PRAGMA enable_verification
|
|
|
|
# jaccard
|
|
query I
|
|
SELECT jaccard('hello', 'hello')
|
|
----
|
|
1
|
|
|
|
query I
|
|
SELECT jaccard('hello', NULL)
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT jaccard(NULL, 'hello')
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT jaccard(NULL, NULL)
|
|
----
|
|
NULL
|
|
|
|
query I
|
|
SELECT jaccard('ab', 'aabb')
|
|
----
|
|
1.0
|
|
|
|
query I
|
|
SELECT jaccard('aabb', 'ab')
|
|
----
|
|
1.0
|
|
|
|
query I
|
|
SELECT jaccard('ab', 'cd')
|
|
----
|
|
0.0
|
|
|
|
query I
|
|
SELECT jaccard('cd', 'ab')
|
|
----
|
|
0.0
|
|
|
|
query I
|
|
SELECT round(jaccard('ab', 'aabbcc'), 3)
|
|
----
|
|
0.667
|
|
|
|
query I
|
|
SELECT round(jaccard('aabbcc', 'ab'), 3)
|
|
----
|
|
0.667
|
|
|
|
query I
|
|
SELECT round(jaccard('aabbccddeeff', 'ab'), 3)
|
|
----
|
|
0.333
|
|
|
|
query I
|
|
SELECT round(jaccard('ab', 'aabbccddeeff'), 3)
|
|
----
|
|
0.333
|
|
|
|
query I
|
|
SELECT round(jaccard('aabbccddeeffg', 'ab'), 3)
|
|
----
|
|
0.286
|
|
|
|
query I
|
|
SELECT round(jaccard('ab', 'aaaabbbccddeeffgabcccc'), 3)
|
|
----
|
|
0.286
|
|
|
|
query I
|
|
SELECT round(jaccard('ababababababba', 'aaaabbbccddeeffgabcccc'), 3)
|
|
----
|
|
0.286
|
|
|
|
statement error
|
|
SELECT jaccard('hello', '')
|
|
----
|
|
|
|
statement error
|
|
SELECT jaccard('', 'hello')
|
|
----
|
|
|
|
statement error
|
|
SELECT jaccard('', '')
|
|
----
|
|
|
|
|
|
statement ok
|
|
CREATE TABLE strings(s VARCHAR, t VARCHAR)
|
|
|
|
statement ok
|
|
INSERT INTO strings VALUES ('hello', 'hallo'), ('aloha', 'fello'), ('fellow', 'ducks'), (NULL, NULL)
|
|
|
|
query I
|
|
select round(jaccard(s, t), 1) from strings
|
|
----
|
|
0.6
|
|
0.3
|
|
0.0
|
|
NULL
|
|
|
|
query I
|
|
select round(jaccard(s, 'hallo'), 1) from strings
|
|
----
|
|
0.6
|
|
1.0
|
|
0.3
|
|
NULL
|
|
|
|
query I
|
|
select round(jaccard('hallo', t), 1) from strings
|
|
----
|
|
1.0
|
|
0.3
|
|
0.0
|
|
NULL
|
|
|
|
query I
|
|
select round(jaccard(NULL, t), 1) from strings
|
|
----
|
|
NULL
|
|
NULL
|
|
NULL
|
|
NULL
|
|
|
|
query I
|
|
select round(jaccard(s, NULL), 1) from strings
|
|
----
|
|
NULL
|
|
NULL
|
|
NULL
|
|
NULL
|
|
|
|
statement error
|
|
select round(jaccard('', t), 1) from strings
|
|
----
|
|
|
|
statement error
|
|
select round(jaccard(s, ''), 1) from strings
|
|
----
|