2017-10-02 22 views
0

データ型nvarcharは電話番号ですが、現在の形式は(123)456-7891ですが、1234567891には角括弧などは使用しません。数字の中にはABCのような言葉があります(123)456-7891 < <この形式では数字とレターを許可するnvarcharですが、数字の書式には特別な単語(〜)は必要ありません。それを変換しようとしました。SQL nvarchar書式設定

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

)それが適切に手順を保存しますが、私はそれをexcuteしようとすると、それは私が唯一FORMAT(PhoneNumber,'##########を試してみましたError converting data type nvarchar to numeric 言い、 それはあなたがどんな事を知っているなら、私に知らせてください、私はそれが仕事を得るカントArgument data type nvarchar is invalid for argument 1 of format function. 語りますそれについて。

+0

使用しているデータベースで質問にタグを付けます。 –

+0

「ABC」も削除しますか? –

+0

いいえ私はちょうど数字とそれを持つABC –

答えて

0

だけreplace()を使用します。

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

あなたは数に'('秒、')'秒、および'-' Sを含む文字列を変換することはできません。

+0

どうもありがとう。それはトリックをしましたが、スペースを置き換えない方法もあります。スペースの乗り方はどうすればいいですか? –

+0

ゴードンが提供しているものを置き換える(Gordon'sGreatReplace、 ''、 '')もう一つのreplaceを追加してください。最初の ''にスペースがあることに注目してください。 –

+0

私はこれを持っていますが、まだ間にスペースがあります(置き換える(置き換える(電話番号、 ' - '、 ''、 ''、 '')、 '('、 '') '、' ')最初の3つの数字と残りはok –