如果座机号码中区号后有个"-",则可以这样写,参考一下:select (case charindex('-',CallNumber) when 0 then substring(CallNumber,0,len(CallNumber)-3) when 4 then substring(CallNumber,0,CHARINDEX('-',CallNumber)) when 5 then substring(CallNumber,0,CHARINDEX('-', CallNumber)) end) as number from CallDetail
关键是你这种情况,怎么区分11位或12位的号码是手机号码还是座机号码呢?座机号码又怎么区分区号是3位还是4位呢?
如果区号和号码之间用一短杠隔开,用case判断一下还是可以的
在CSDN上真能学到东西啊
when 0 then substring(CallNumber,0,len(CallNumber)-3)
when 4 then substring(CallNumber,0,CHARINDEX('-',CallNumber))
when 5 then substring(CallNumber,0,CHARINDEX('-', CallNumber))
end) as number
from CallDetail
则整个就很容易区分的,
131********,加个9131********。
本地的不对还以0开头的,那么现在substring,12位就应该是手机了,剩下的就是其它号码了。