【问题标题】:Field contains or is equal to another field字段包含或等于另一个字段
【发布时间】:2022-10-15 03:58:07
【问题描述】:

我正在尝试编写一个查询以返回“B 列”等于或包含“A 列”的结果。

我需要两者,因为 B 列中的某些字段与 A 列中的字段完全匹配,有时 B 列中的值是 A 列中的值,最后添加了其他字符。

Example Column A Column B
1 1234 12345abc
2 abcde abcde

我努力了:

TableName.[Column B] like TableName.[Column A]    -- this only returns exact matches
TableName.[Column B] like 'TableName.[Column A]%' -- this returns nothing
TableName.[Column B] = 'TableName.[Column A]%'    -- this returns nothing

任何帮助都会令人难以置信,谢谢!

【问题讨论】:

  • TableName.[Column B] like '%'+TableName.[Column A]+'%' 呢?
  • @Rafalon 嗨,感谢您的回复。这将返回 B 列与 A 列匹配的行,但不包括包含
  • 这不是this SQL fiddle 显示的内容

标签: sql sql-server


【解决方案1】:

@Rafalon 是正确的。利用:

TableName.[Column B] like '%' + TableName.[Column A] + '%'

添加通配符时,必须将它们设为字符串,但 TableName.[Column A] 不能是字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    相关资源
    最近更新 更多