Sql server SQL Server:修剪字符+;整数

Sql server SQL Server:修剪字符+;整数,sql-server,Sql Server,正在尝试从电话号码的开头修剪“+1”。例如,在运行查询后,我正在提取:+12223334444,但需要2223334444。我尝试了几个trim函数,但出现了一个错误:“trim函数需要1个参数” 查询的示例部分: Select Ef.Name EForm, C.Id Contact_Id, P.Firstname + ' ' + P.Lastname Agent_Name, P.Username Username, C.Duration/100

正在尝试从电话号码的开头修剪“+1”。例如,在运行查询后,我正在提取:+12223334444,但需要2223334444。我尝试了几个trim函数,但出现了一个错误:“trim函数需要1个参数”

查询的示例部分:

    Select 
    Ef.Name EForm,
    C.Id Contact_Id,
    P.Firstname + ' ' + P.Lastname Agent_Name,
    P.Username Username,
    C.Duration/1000 Call_Duration,
    T.Name Team,
    row_number()over(partition by c.id order by q2.text) Rank,
    rtrim(c.ani,10) calling_number,
    rtrim(c.dnis,10) called_number,

谢谢大家!

呼叫号码不是整数,千万不要犯那个错误,否则号码可能会从前导零截断

修剪始终与
空格“
字符相关,而与其他字符无关

您可以
修剪('Hello World')
,结果将是
'Hello World'


如果要删除“+”字符,需要使用
REPLACE

我认为这解决了您最初的思考过程,但我可能会像您发现的那样替换+1

RIGHT(c.ani,10) calling_number, RIGHT(c.dnis,10) called_number

抱歉,我相信我已经明白了。使用'REPLACE(c.ani,'+1','')调用_编号,REPLACE(c.dnis,'+1','')调用_编号,ISNUMERIC(REPLACE(c.ani,'+1','')=1和ISNUMERIC(REPLACE(c.dnis,'+1','')=1您能保证数据始终具有+1吗?最后10个永远是数字?国际号码呢?顺便问一下…谢谢你的回复!是的,数据将始终包含+1和最后10个数字,因此替换工作正常。