【问题标题】:Search INT value in VARCHAR Column在 VARCHAR 列中搜索 INT 值
【发布时间】:2013-07-02 18:43:22
【问题描述】:
这是我的问题:
我需要从 MyTable 中获取一系列值:
我的表
ID (INT)
合同编号 (VARCHAR)
SELECT * FROM MyTable WHERE ContractNumber >= 1000 AND ContractNumber <= 1999
MyTable(ContractNumber) 中存储的所有值都是 INTEGER 类型。
我怎样才能得到这个范围的值?
您好!
【问题讨论】:
标签:
sql
select
int
range
varchar
【解决方案1】:
SELECT * FROM MyTable
WHERE cast(ContractNumber as int) >= 1000
AND cast(ContractNumber as int) <= 1999
【解决方案2】:
您可以将 varchar 字段转换为 int,如下所示适用于 PostgreSQL
SELECT * FROM MyTable WHERE ContractNumber::int4 >= 1000 AND ContractNumber::int4 <= 1999
【解决方案3】:
非常感谢,我使用 BETWEN 解决了我的问题,我也尝试了 Cast 和 Convert,但它不起作用。
谢谢!!