SQL Server的ISNUMERIC函数
发布时间:2020-12-12 06:31:26 所属栏目:MsSql教程 来源:网络整理
导读:我需要在SQL Server 2012中检查数字与否的列. 这是我的案例代码. CASE WHEN ISNUMERIC(CUST_TELE) = 1 THEN CUST_TELE ELSE NULL END AS CUSTOMER_CONTACT_NO 但是当达到’78603D99’值时,它返回1,这意味着SQL Server将此字符串视为数字. 这是为什么? 如何避
我需要在SQL Server 2012中检查数字与否的列.
这是我的案例代码. CASE WHEN ISNUMERIC(CUST_TELE) = 1 THEN CUST_TELE ELSE NULL END AS CUSTOMER_CONTACT_NO 但是当达到’78603D99’值时,它返回1,这意味着SQL Server将此字符串视为数字. 这是为什么? 如何避免这种问题? 解决方法不幸的是,SQL Server中的ISNUMERIC()函数有许多怪癖.它并不完全是错误的,但它很少会在人们第一次使用它时达到预期效果.但是,由于您使用的是SQL Server 2012,因此您可以使用TRY_PARSE()函数来执行您想要的操作. 这返回NULL: 返回7860399 https://msdn.microsoft.com/en-us/library/hh213126.aspx 显然,这也适用于除INT之外的数据类型.你说你想检查一个值是数字,但我认为你的意思是INT. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |