2

値が null の場合、この変換をどのように処理すれば、「データ型 varchar から数値への変換エラー」というエラーが発生しなくなります。

convert(numeric(19,2), mdmaster.check_no)as checkNbr,

ありがとう

4

2 に答える 2

4

使用できますISNULL

convert(numeric(19,2), ISNULL(mdmaster.check_no, 0))as checkNbr,

これにより、任意のNULL値が に変換され0.00ます。

ライブデモはこちら

于 2012-10-09T13:43:32.570 に答える
2

null の場合は 0.00 を返す ISNUMERIC を使用できます

DECLARE @t VARCHAR(50);
SELECT convert(numeric(19,2), ISNUMERIC (@t))as checkNbr

または、ms sql サーバーの要件に一致する場合は、以下に示すようにアプローチを使用できます

SELECT 
    CASE 
        WHEN Field NOT LIKE '%[^0-9]%'
        THEN CAST(Field AS INT)
        ELSE NULL 
    END
于 2012-10-09T13:47:51.543 に答える