用于从varray中提取数据的SQL查询

时间:2015-08-05 18:49:49

标签: sql oracle

我已经使用varray在我的客户表中存储了最多两个手机号码:

create or replace type mobile_array as varray(2) of
varchar2(11);

我正在尝试生成一个过滤以' 0770'开头的手机号码的查询。由于我使用了varray,因此我不确定如何处理查询以考虑varray,因为它包含我想要查询的数据。我试过了,但是我似乎没有取得多大进展。

select c.custname.firstname,c.custmobile.mobile_array
from customer c
where c.custmobile.mobile_array like '0770%';

任何指导或帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可能想要使用时态表或视图。

  
    

create table #tmp(id int identity not null,mobile varchar(11),customerid int)

  

然后

  
    

选择c.custname.firstname,tmp.mobile     来自客户c     内部联接#tmp tmp on c.customerid = tmp.customerid     其中tmp.mobile喜欢'0770%';