SSRS 2005レポートの場合線グラフをプロットするための一貫した数値小数データとして、データベースから不整合なnvarcharデータ値を読み取るにはどうすればよいですか?矛盾したnvarcharデータを小数データとして読み取るには
nvarchar列には、ラボの読み取り値がnvarchar(15)データ型としてグラフにプロットされます。図示
サンプルcolumnvaluesとして一貫性のないデータと
サンプルカラム:333 456は、N/RがNoの結果0(NULL)は、567 589
SSRS 2005レポートの場合線グラフをプロットするための一貫した数値小数データとして、データベースから不整合なnvarcharデータ値を読み取るにはどうすればよいですか?矛盾したnvarcharデータを小数データとして読み取るには
nvarchar列には、ラボの読み取り値がnvarchar(15)データ型としてグラフにプロットされます。図示
サンプルcolumnvaluesとして一貫性のないデータと
サンプルカラム:333 456は、N/RがNoの結果0(NULL)は、567 589
使用データベース 行く
セレクト変換(小数(10,2)、LTRIM(RTRIM(ColumnNameの)))テーブル からISNUMERIC(ColumnNameの)= 1とLTRIM(RTRIM(ColumnNameの))< > '。'
あなたは
SELECT CASE WHEN ISNUMERIC(nvCol) THEN CAST(nvCol as DECIMAL(15,0))
ELSE 0.0 END as DecData
FROM YourTable
ISNUMERICが過度であってもよい試みることができます一般的にはあなたの使用のために(それはいくつかの本当に奇妙な "数"を許します)、もしそうなら、フィルタリングのために独自の条件を追加する必要があります。またDECIMALのサイズを取得する必要があります。最後に、これらの行を0.0にデフォルト設定するのではなく、それらの行を除外するには、WHERE句にチェックを入れることをお勧めします。
ありがとうバリー。早くあなたの答えを見ることができたらいいなあ。しかし、私の上司は、この次のクエリをフラッシュで書いて、うまくいきました。 列データの不一致に応じて、クエリの最後にフィルタを追加できます。 テーブルを使用しています。変換テーブル(decimal(10,2)、ltrim(rtrim(columnname)))fromnumeric(columnname)= 1およびltrim(rtrim(columnname))<> ' –