我有一个电话号码表
example:
4685293
+924685293
1254152
我需要选择前两个值作为忽略+92
的值我可以在查询中执行此操作,还是必须通过我的代码手动执行此操作。
答案 0 :(得分:2)
要选择本地电话号码,请使用RIGHT()功能
SELECT DISTINCT RIGHT(phone,7) FROM TABLE
答案 1 :(得分:0)
删除您要忽略的模式:
REPLACE(example,'+92','')
如果可以使用不同的模式,但总有3个字符(+ xx),那么您可以执行以下操作:
CASE WHEN phone LIKE '+[0-9][0-9]%' THEN
RIGHT(phone,LEN(phone)-3)
ELSE
phone
END
答案 2 :(得分:0)
你可以尝试只选择最后7个字符......
select distinct(substring(phoneno,-7)) from ...
答案 3 :(得分:0)
try this
;with cte as(
select replace(ph,'+92','') as replaced,
ROW_NUMBER() over (order by ph) as rn
from [dbo].[ph]
)
select * from cte where rn <3