我有一个专栏
学生数据 ( varchar
)
示例值:
Not regular
90
15.2
55
4
0
>15
regular
35
我有一个条件,要找出所有有 StudentData
的学生值大于 10
或者有一个 NULL 值。
当我尝试转换时,它失败并提示转换失败。如何获得这些值?我期待一个类似的结果集
studentdata
90
15.2
55
35
请指教。
最佳答案
我认为您正在寻找这个:
select * from t
where studentdata is null or
(isnumeric(studentdata) = 1 and CAST(studentdata AS float) > 10)
无论如何,您应该考虑在该列中存储适当的信息,而不是混合存储信息。
如果您有任何问题,请告诉我。
关于sql - 转换失败 (SQL Server 2008),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986823/