【问题标题】: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,但它不起作用。

        谢谢!!

        【讨论】:

          猜你喜欢
          • 2011-06-04
          • 1970-01-01
          • 1970-01-01
          • 2012-11-21
          • 1970-01-01
          • 2016-04-03
          • 1970-01-01
          • 2017-06-20
          • 1970-01-01
          相关资源
          最近更新 更多