Roh*_*ews 4 sql sql-server-2008
为什么SQL中的以下Query返回true?我预计它是假的,因为它无法转换为int数值或数值
select ISNUMERIC(',')
回来1???
select ISNUMERIC('0,1,2')
select ISNUMERIC(',,,')
Run Code Online (Sandbox Code Playgroud)
也回来了 1
我可以在SQL中进行严格的数字检查吗?
因为ISNUMERIC回答了一个没人想过要问的问题:
这个给定的字符串是否可以转换为SQL Server的任何数字数据类型?而且我不关心它能够或不能转换成哪种类型.
这就是TRY_CONVERT最终引入2012年的原因 - 回答有关您可能关心的特定数据类型的问题.
对于早期版本,你通常可以做的最好的就是用LIKE识别您的字符串模式也想尝试转换.
例如,如果您只想检测数字,请使用Value NOT LIKE '%[^0-9]%',该请求不包含任何不是数字的字符的Value字符串.
| 归档时间: |
|
| 查看次数: |
1653 次 |
| 最近记录: |