我有一个包含电话号码模式的表格,其中x可以匹配任何数字。
现在,我可能会输入511132228,它将与第3行匹配,并应返回其类型。因此,这有点像SQL通配符,但是方向相反,我对如何实现这一点感到困惑。
现在,我可能会输入511132228,它将与第3行匹配,并应返回其类型。因此,这有点像SQL通配符,但是方向相反,我对如何实现这一点感到困惑。
select *
from yourtable
where '511132228' like (replace(phone_number, 'x','_'))
select * from my_table
where '511132228' like replace(phone_number, 'x', '_')
尝试下面的查询:
SELECT ID,phone_number,phone_number_type_id
FROM TableName
WHERE '511132228' LIKE REPLACE(phone_number,'x','_');
使用测试数据进行查询:
With TableName as
(
SELECT 3 ID, 'x111x222x' phone_number, 6 phone_number_type_id from dual
)
SELECT 'true' value_available
FROM TableName
WHERE '511132228' LIKE REPLACE(phone_number,'x','_');
如果存在匹配的模式,上述查询将返回数据;如果没有匹配,则不会返回任何行。