SQL从字符串中删除空格,非数字和第二个字符

时间:2017-08-10 17:55:05

标签: sql sql-server function

我的表格中有以下栏目

[GET] http://example.com/budgets/{ID}/preview/

我想以下列格式结束。

基本上删除' +'标志,国家代码' 1'和所有空间。

MobilePhone
----------
+1 647 555 5556

有人可以指向正确的方向。

3 个答案:

答案 0 :(得分:1)

阅读第一个空格,删除其他空格:

REPLACE(SUBSTRING(MobilePhone, CHARINDEX(' ', MobilePhone, 1), LEN(MobilePhone)), ' ', '')

这假定您的格式是严格的,如果它可以是带有可选空格的任何国家/地区代码,则您需要另一个查找表,因为它们是可变长度。

答案 1 :(得分:0)

select replace(REPLACE(MobilePhone,' ',''), '+','')
From table

答案 2 :(得分:0)

您需要的只是正确的替换功能。无论国家代码如何: 试试这个:

declare @a varchar(30) = '+1 510 999 1234'
declare @b varchar(30) = '+91 98318 12345'

SELECT RIGHT(REPLACE(@a,' ',''),10) --5109991234
SELECT RIGHT(REPLACE(@b,' ',''),10) --9831812345