In MySQL to match '12684041234' to the longest prefix you would do
SELECT num_prefix
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
AND LENGTH(num_prefix) = (
SELECT MAX(LENGTH(num_prefix))
FROM nums
WHERE '12684041234' LIKE CONCAT(num_prefix, '%')
)
Table nums
has a column named num_prefix
with prefix values.
How can I do it in hive ?
This is how I do it in MySQL:
This will give the longest prefix (
ORDER BY .. DESC
) and only one row (LIMIT 1
).