求sql语句,sqlite数据库
电话本匹配查询,希望一条语句搞定
假设号码本(numtable)如下:
号码(num) 联系人 (relationname)
10086 移动客服
110 报警
8776532 张三家
13959112113 张三手机
现在电话呼入匹配规则为:
如果呼入号码>=7位,匹配后7位;如果呼入号码 <7位,全匹配方式
(或者上面规则可以描述为,呼入号码与号码本号码都大于等于7位时,匹配后7位;如果任意一方小于7位时,全匹配方式)
例子说明匹配原则
假如呼入13959112113 显示“张三手机”
13339112113 显示“张三手机”
13959112110 不能匹配报警
13959110086 不能匹配移动客服
1008 显示“移动服”
13958776532 显示“张三家”
8776532 显示“张三家”
mark,不错
SQL code:
select * from numtable where (char_length('呼入号码')>=7 and char_length(num)>=7 and substring('呼入号码',char_length('呼入号码')-6,7)=substring(num,char_length(num)-6,7)) or (char_length('呼入号码')<7 and num='呼入号码');
select rel
相关问答:
小弟是个新手 现在有个问题一直不能解决
例如
procedure produce_proc
@p001 nvarchar(8000),
@p002 nvarchar(8000),
@p003 nvarchar(8000),
& ......
sql2005
select *from v_ddxx where d_sfsc='0' and (g_ssbm='1001' or g_ssbm='1002') and (xxf>0 and xxfwzf <>0 ),执行速度慢的要死,但是如果把(xxf>0 and ......
大家帮忙看看这2个sql语句哪个查询的速度更快点。谢谢帮忙。比较着急。在做性能测试。
select * from
表A LEFT OUTER JOIN 表B ON (表A.id || ' ' =表B.id) ,表C , 表D, 表E
Where其他条件
select * ......
sql可以有两个以上的触发器吗??我指的是for触发器,那其他的呢??
什么意思?
可以的
10个都没问题
可是我写了两个for insert 触发器,造成进程阻塞了呢?怎么办呢?请高人指点
......
因为平时这种操作比较多,直接在数据库上手动设置危险性较大,所以想用SQL语句实现。
在网上实在搜不到结果,这里高手多,希望能得到答案。
谢谢。
你想怎麼設置?
SQL code:
--创建测试表
......