БД, где лежит маска? Например, есть код 12345. Надо найти для него соответствующую запись в БД. В БД может храниться маска как 1XXXX, 12XXX, 123XX. + есть другие ключевые поля с четкими значениями
У тебя поле числовое или все-таки строчное?
Если поле числовое, то сделай лучше селект сначала по рэндж (I BT) или BETWEEN 12300 12399 Если не нашёл, то по 12000 12999 Не нашел, то по 10000 19999 И т.д. Это поможет использовать индекс если он есть по этому полю.
если ORACLE - можно REGEXP_LIKE https://www.oracletutorial.com/oracle-string-functions/oracle-regexp_like/
select mask_ from (select replace(mask,’X’,’_’) as mask_ from masks) where ‘12345’ like mask_
Обсуждают сегодня