如果值为null,如何处理此转换,以便它不会给出错误“将数据类型varchar转换为数字时出错”。
convert(numeric(19,2), mdmaster.check_no)as checkNbr,
Thanx
答案 0 :(得分:4)
您可以使用ISNULL
:
convert(numeric(19,2), ISNULL(mdmaster.check_no, 0))as checkNbr,
这会将任何NULL
值转换为0.00
。
答案 1 :(得分:2)
您可以使用ISNUMERIC,如果为null,则返回0.00
DECLARE @t VARCHAR(50);
SELECT convert(numeric(19,2), ISNUMERIC (@t))as checkNbr
如果符合ms sql server
中的要求,您可以使用如下所示的方法SELECT
CASE
WHEN Field NOT LIKE '%[^0-9]%'
THEN CAST(Field AS INT)
ELSE NULL
END