如果值为 null,我如何处理此转换,以便它不会给出错误“将数据类型 varchar 转换为数字时出错”。
convert(numeric(19,2), mdmaster.check_no)as checkNbr,
谢谢
您可以使用ISNULL
:
convert(numeric(19,2), ISNULL(mdmaster.check_no, 0))as checkNbr,
这将使任何NULL
值转换为0.00
.
您可以使用 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