SQL nvarchar 格式化

SQL nvarchar Formatting

所以我有一个数据类型 nvarchar,它是一个 Phone 数字,它目前的格式是 (123)456-7891,但我希望它是 1234567891 没有括号或任何东西。有些数字前面有单词,比如 ABC(123)456-7891 << 这种格式所以它是一个允许数字和字母的 nvarchar 但我希望数字的格式没有任何特殊单词 ()-- 我怎么能转换它我试过了。

FORMAT(cast( PhoneNumber as numeric),'##########') as PhoneNumber

它正确地保存了程序,但是当我尝试执行它时它说 Error converting data type nvarchar to numeric 我只试过 FORMAT(PhoneNumber,'##########), 但它说 Argument data type nvarchar is invalid for argument 1 of format function. 我无法让它工作,如果您对此有任何了解,请告诉我。

只需使用replace():

select replace(replace(replace(PhoneNumber, '-', ''), ')', ''), '(', '')

您不能将包含 '('')''-' 的字符串转换为数字。