Я пытаюсь получить числовой диапазон из столбца varchar, но не могу выполнить
Столбец sid_id имеет тип varchar и имеет числовые и буквенно-цифровые значения, такие как
09446115979980
09446115980104
09446115981633
A1X98090900900
ОднакоЯ хочу извлечь только числовые значения в определенном диапазоне
Уже пробовал
sid_id as bigint
:
ОШИБКА: XX000: недопустимая цифра, значение 'D', Поз. 14, тип: длинный
sid_id as numeric
:
ОШИБКА: XX000: недопустимая цифра, значение «D», поз. 14, тип: десятичное число
sid_id as varchar
: вывод пустого значения
The code used is
with tid as
(
select cast(sid_id as bigint) sid
from mf1.tb1 s
where
right(sid_id,13) similar to '[0-9]{13}'
and left(sid_id,4)= '0944'
)
select tid.sid from tid
where tid.sid between 9445897133440 and 9445907133438
or tid.sid between 9446098650000 and 9446198649999
FYI .. Только последние две строки выдают ошибку, которая необходима в этом коде