【问题标题】:How to use SQL function CONCAT with LIKE如何在 LIKE 中使用 SQL 函数 CONCAT
【发布时间】:2019-07-16 15:40:28
【问题描述】:

我确认 SQL 表中的列包含我正在搜索的结果(结果为 NA),但是当我使用下面的查询时,没有返回任何结果。 请问我能得到一些帮助吗?

SELECT DISTINCT * 
FROM [DB_NAME].[dbo].[TABLE_NAME]
WHERE BECDescription like '%Time Warner%' AND
      (CONCAT(PhysicalAddress1, PhysicalCity, PhysicalStateProvince) like ('%NA%  %NA% %NA%')
      ) AND
      PhysicalCountry like '%NA%' AND
      CarrierName like '%NA%' AND
      CurrNetChargeAmt = 1326.00

【问题讨论】:

  • 请为MSAudit 表提供一些示例数据,以解释您在此处尝试执行的操作。

标签: sql sql-server concat


【解决方案1】:

我有点不明白你为什么在这里使用CONCAT()。这不是你想要的吗?

WHERE BECDescription like '%Time Warner%' AND
      PhysicalAddress1 like '%NA%' AND
      PhysicalCity like '%NA%' AND
      PhysicalStateProvince like '%NA%' AND
      PhysicalCountry like '%NA%' AND
      CarrierName like '%NA%' AND
      CurrNetChargeAmt = 1326.00

当然更容易理解。

【讨论】:

    【解决方案2】:

    您连接 PhysicalAddress1、PhysicalCity、PhysicalStateProvince,但在“%NA”之间添加空格。

    试试

    SELECT DISTINCT * 
    FROM [db_name].[dbo].[table_name]
    WHERE BECDescription like '%Time Warner%' AND (CONCAT(PhysicalAddress1, ' ', PhysicalCity, ' ', PhysicalStateProvince) like ('%NA% %NA% %NA%')) AND PhysicalCountry like '%NA%' AND CarrierName like '%NA%' AND CurrNetChargeAmt = 1326.00
    

    【讨论】:

    • 感谢您的帮助和快速响应。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2015-02-26
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多