在VARCHAR列中搜索INT值

时间:2013-07-02 18:43:22

标签: sql select int range varchar

这是我的问题:

我需要从MyTable中获取一系列值:

MyTable的

ID(INT)

ContractNumber(VARCHAR)

SELECT * FROM MyTable WHERE ContractNumber >= 1000 AND ContractNumber <= 1999

存储在MyTable(ContractNumber)中的所有值都是INTEGER Type。

我如何获得这一系列值?

问候!

3 个答案:

答案 0 :(得分:1)

SELECT * FROM MyTable 
WHERE cast(ContractNumber as int) >= 1000 
AND cast(ContractNumber as int) <= 1999

答案 1 :(得分:0)

您可以将varchar字段转换为int,类似下面的内容适用于PostgreSQL

SELECT * FROM MyTable WHERE ContractNumber::int4 >= 1000 AND ContractNumber::int4 <= 1999

答案 2 :(得分:0)

非常感谢,我使用BETWEN解决了我的问题,我也尝试过Cast和Convert,但它没有用。

谢谢!