Data update
This commit is contained in:
parent
4d5544505c
commit
4924dd0264
3073 changed files with 55820 additions and 4408 deletions
17
Task/String-matching/DuckDB/string-matching.duckdb
Normal file
17
Task/String-matching/DuckDB/string-matching.duckdb
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Return a list of the indices of all occurrences (including overlapping occurrences)
|
||||
create or replace function string_positions(haystack, needle) as (
|
||||
WITH RECURSIVE etc AS (
|
||||
SELECT
|
||||
position(needle IN haystack) AS start_pos,
|
||||
0 as s
|
||||
UNION ALL
|
||||
SELECT
|
||||
position(needle IN substr(haystack, start_pos + 1)) + start_pos AS start_pos,
|
||||
start_pos as s
|
||||
FROM etc
|
||||
WHERE start_pos != s
|
||||
)
|
||||
SELECT coalesce(array_agg(start_pos order by start_pos),[]::BIGINT[])
|
||||
FROM etc
|
||||
WHERE start_pos > 0 and s != start_pos
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue