我已经使用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%';
任何指导或帮助都将不胜感激。
答案 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%';