Let's do something naughty and not supported (but it does do the job!) Here is what I do in a trigger to parse a string before I check the IP-address: INSERT INTO _INET_ WITH RECURSIVE SPLIT(IP_ADDRESS, LAST_OCTET, REMAINDER) AS ( VALUES ('', '', NEW.DCS_URI) UNION ALL SELECT CASE WHEN LAST_OCTET == '.' THEN SUBSTR(REMAINDER, 1, 1) ELSE IP_ADDRESS || SUBSTR(REMAINDER, 1, 1) END, SUBSTR(REMAINDER, 1, 1), SUBSTR(REMAINDER, 2) FROM SPLIT WHERE REMAINDER <> '' ) SELECT REPLACE(IP_ADDRESS, '.','') AS 'OCTET' FROM SPLIT WHERE LAST_OCTET == '.' OR REMAINDER =='' ;