根据我的理解,我可能错了,但如果我们看到的是数字数据类型,ISNUMERIC((不是会返回1吗?既然大多数邮政编码都保存为varchar数据类型,那么它不应该返回0吗?我查阅了文件,上面对我说,我在这里缺了什么?我知道邮政编码是数字,但因为它们被保存为字符串,这难道没有区别吗?提前谢谢。
ISNUMERIC()
专门研究字符串,而不是已经存储为数字的东西。
但是,我不建议使用它。例如,'3.1e5'
被认为是数字。
相反,使用try_convert()
:
try_convert(int, zip)
如果无法转换列,则返回NULL
。