sql查询将nvarchar字段转换成数字时, 如果nvarchar字段中包含空格,null,’’,字母符号之类的非数字时, 会提示Error converting data type nvarchar to numeric., 解决问题, 可以使用下面的方法, 使用ISNUMBERIC结合正则判断
SELECT
CASE WHEN ISNUMERIC(qtyStr)=1 AND qtyStrNOT not LIKE '%[^0-9.]%'
THEN CAST(qtyStr AS DECIMAL(19,6))
ELSE 0.0 END AS Qty
FROM #orders