gpt4 book ai didi

sql - 为什么 ISNUMERIC (',' ) 是真的?

转载 作者:行者123 更新时间:2023-12-02 07:46:58 25 4
gpt4 key购买 nike

为什么以下 SQL 查询返回 true?我预计它是错误的,因为它无法转换为 int或数值

select ISNUMERIC(',')

返回1 ???

select ISNUMERIC('0,1,2')

select ISNUMERIC(',,,')

还返回1

如何在 SQL 中进行严格的数字检查?

最佳答案

因为 ISNUMERIC 回答了一个没有人想问的问题:

Can this given string be converted into any of SQL Server's numeric data types? And I don't care which of those types it can or cannot be converted into.

这就是为什么TRY_CONVERT终于在 2012 年引入 - 回答有关您可能关心的特定数据类型的问题。

<小时/>

对于早期版本,您通常可以做的最好的事情就是使用 LIKE 来识别您确实想要尝试转换的字符串模式。

例如如果您只想检测数字,请使用 Value NOT LIKE '%[^0-9]%',它要求 Value 字符串 包含任何不是数字的字符。

关于sql - 为什么 ISNUMERIC (',' ) 是真的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com