0

電話番号のテーブルがあります

example:

4685293

+924685293

1254152

+92 を無視して、最初の 2 つの値を 1 つとして選択する必要があります。

クエリでそれを行うことはできますか、それともコードを介して手動で行う必要がありますか?

4

4 に答える 4

2

ローカルの電話番号を選択するには、RIGHT()関数を使用します

SELECT DISTINCT RIGHT(phone,7) FROM TABLE
于 2013-11-11T13:07:16.237 に答える
0

無視したいパターンを削除します:

REPLACE(example,'+92','')

さまざまなパターンがあり、常に 3 文字 (+xx) である場合は、次のことができる可能性があります。

CASE WHEN phone LIKE '+[0-9][0-9]%' THEN 
RIGHT(phone,LEN(phone)-3)
ELSE
phone
END
于 2013-11-11T13:04:25.393 に答える
0

最後の 7 文字だけを選択してみてください...

select distinct(substring(phoneno,-7)) from ...
于 2013-11-11T13:05:54.873 に答える
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
于 2013-11-11T13:07:38.647 に答える