Вы должны преобразовать строку версии в числовую версию.
Это можно сделать, разбив строку на '.'и умножение каждого сечения на степени 10.
'4.3' можно преобразовать в '430'
Пример:
WITH mytable (user_id, os_version) AS (
SELECT 1, '4.3'::TEXT
UNION ALL
SELECT 2, '10.0.1'
UNION ALL
SELECT 3, '4.2'
)
SELECT
user_id
, os_version
, CASE SPLIT_PART(os_version, '.', 1) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 1)::INT END * 100
+ CASE SPLIT_PART(os_version, '.', 2) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 2)::INT END * 10
+ CASE SPLIT_PART(os_version, '.', 3) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 3)::INT END os_numeric
FROM mytable
WHERE (
CASE SPLIT_PART(os_version, '.', 1) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 1)::INT END * 100
+ CASE SPLIT_PART(os_version, '.', 2) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 2)::INT END * 10
+ CASE SPLIT_PART(os_version, '.', 3) WHEN '' THEN 0 ELSE SPLIT_PART(os_version, '.', 3)::INT END
) < 430
Кроме того, обратите внимание, что если любой иззначения младших версий превышают 9, тогда вам придется выбирать разные множители.