如果先isnull 然后 转换为 字符串 isnull()后面的参数就必须和前面参数一样,
因此遇到 数值类型 必须默认给定数值类型的默认值,但是我做了一个自动化 不知道他类型
遇到空 @a int
isnull(@a,‘’)就会报错,经过测试先用cast 或者convert转字符串 然后再处理空
print('@xxx'+CONVERT(VARCHAR(30), @Qty))
print(' cast null number '+CAST( @Qty as varchar(100)))
print(' cast null number to str after isnull '+isnull(CAST( @Qty as varchar(100)),''))
print('cast 1 : '+CAST( 1 as varchar(100)))
print('@convert :' + convert( VARCHAR(1100),@Qty))
print('@convert after isnull:' + isnull(convert( VARCHAR(1100),@Qty),'' ))
如果qty是null,呢么其中 只有 after isnull 和 cast 1才会打印