gpt4 book ai didi

sql - 在 varchar 字段而不是数字字段上使用 BETWEEN ?

转载 作者:行者123 更新时间:2023-12-02 00:59:15 25 4
gpt4 key购买 nike

我正在使用 ColdFusion 8 和 SQL Server 2008 R2。

我正在尝试查询一列值以获取值在一定范围内的行。该列应该是数字,但事实并非如此。它被设置为 varchar (由其他人)。有 100,000 多行数据。这是数据的假样本:

ID COLUMN
1 1
2 1.2
3 0.9
4 5
5 -6

我的查询如下所示:

select column
from table
where column between 1 and 2

此查询不会运行,因为 where 语句的列是 varchar,并且我收到转换错误,因此我必须将 where 语句更改为:

where column between '1' and '2'

现在,当我运行这样的查询时,它会运行,但我没有得到结果。但我知道我应该看到结果,因为我知道列字段中的许多值都在我正在查询的范围内。

我想知道是否由于该字段是 varchar 而不是数字而没有看到任何结果。这可能会扰乱我的结果吗?

此外,我们正在搜索 100,000 多条记录,使用 varchar 字段而不是数字字段会对性能产生很大影响吗?

最佳答案

例如,您需要对结果进行 CAST WHERE ISNUMERIC(column) = 1 AND CAST(column AS Decimal(10,5)) BETWEEN 1 AND 2

关于sql - 在 varchar 字段而不是数字字段上使用 BETWEEN ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13297652/

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