数値を表すべきいくつかのフィールドを見つけたテーブルを調べていますが、ソースは文字、記号、数字が混在しているため、ソースはExcelファイルです。SQLは任意の文字を0に変換します0
SELECT
CASE
WHEN Montant_Devise LIKE '%Free%' THEN '0'
WHEN Montant_Devise LIKE ' ' THEN '0'
WHEN Montant_Devise = '' THEN '0'
WHEN Montant_Devise = '-' THEN '0'
ELSE CAST(COALESCE(RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(Montant_Devise, '€', ''), ' ', ''), ',', '.'))), '0') AS DECIMAL(20,2))
END
FROM
[dbo].[table_BI]
ので、取り引きここに:
私は、これらのフィールドをクリーンアップしようとしているが、私はそう、現在のシンボルの、あまりにも多くの種類を見つけることができますが、私のような例カップルとクリーニングを行ってきましたおそらく私は新しいシンボルを私の場合に含めて避けるよりも将来的に新しいシンボルを見つけるかもしれません。どのシンボルを置き換えることができますか?
私はこれをどうやってできるか知っていますか?その後
CASE WHEN patindex(Montant_Devise '%[^0-9]%' > 0 '0'
と
おかげ
あなただけのデフォルトで0にこのフィールドを設定することができませんか?達成しようとしていること、多分いくつかの入力と出力の例について、より明確に説明することができますか? –
デフォルトで@JoshAdamsをチェックしてください。フィールドはすでに数字、文字、記号の間に入り込んでいます –
これは完全にはっきりしていません。あなたがしようとしていることをより具体的にするためにあなたの投稿を編集し、自分で問題を解決する努力をしてください。 –