【问题标题】:How to CONCAT two columns then use the combined string in the WHERE clause in SQL?如何 CONCAT 两列然后在 SQL 的 WHERE 子句中使用组合字符串?
【发布时间】:2009-07-17 19:12:35
【问题描述】:

我必须在 DB2 数据库中搜索由两列连接而成的字符串。有没有办法 CONCAT 列然后在 WHERE 子句中使用组合字符串?

【问题讨论】:

    标签: c# .net sql db2


    【解决方案1】:

    在 IBM 手册中进行更多搜索后,我想出了适合我的解决方案;

    Select
     Col1 || Col2 as MyCol1
    Where CONCAT(RTRIM(Col1),(RTRIM(Col2)) = 'searchvalue'
    

    感谢您的帮助

    【讨论】:

      【解决方案2】:

      试试

      select * 
      from MyTable
      where Col1 concat Col2 = 'MySearchValue'
      

      【讨论】:

        【解决方案3】:

        有点像

        SELECT *, CONCAT(column1, column2) AS s FROM table WHERE column3 = s
        

        【讨论】:

          【解决方案4】:

          最简单的解决办法,不用CONCAT()

           SELECT Col1 || Col2 as MyCol1 
           FROM MY_TABLE
           WHERE Col1 || Col2 = 'searchvalue'
          

          请注意,搜索将不会被编入索引。如果你想让它被索引,你必须使用基于函数的索引。那么2种可能性:

          1. DB 引擎支持它(我认为 DB2 不支持)
          2. 自己动手:使用通过 INSERT 和 UPDATE 上的触发器更新的额外索引列。

          【讨论】:

            猜你喜欢
            • 2014-09-26
            • 1970-01-01
            • 1970-01-01
            • 2013-10-29
            • 1970-01-01
            • 2019-04-16
            • 2012-03-28
            • 2016-03-22
            • 1970-01-01
            相关资源
            最近更新 更多