代码之家  ›  专栏  ›  技术社区  ›  Simple Code

SQL nvarchar格式

  •  0
  • Simple Code  · 技术社区  · 8 年前

    所以我有一个数据类型nvarchar,它是一个电话号码,目前的格式是(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.

    1 回复  |  直到 8 年前
        1
  •  1
  •   Gordon Linoff    8 年前

    只需使用 replace() :

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

    不能转换包含以下内容的字符串 '(' s ')' s、 和 '-'

    推荐文章