像 %column 这样的列

columnA like %columnB

我正在尝试 select * where column1 = % column2 %

这是我的查询

select ticket_cp, id_con, raison_sociale, date, Type, RSP
from en_cours,
     Base_Client 
where Base_Client.Client like '%'+raison_sociale+ '%' 

错误:

The data types varchar and text are incompatible in the add operator.

您可以 cast textvarchar(max):

select ticket_cp, id_con, raison_sociale, date, Type, RSP 
from en_cours e
inner join base_Client b 
    on  b.Client like '%'+ cast(e.raison_sociale as varchar(max)) + '%' 

或者,如果 b.Client 也是 text

    on  cast(b.Client as varchar(max)) 
        like   '%'+ cast(e.raison_sociale as varchar(max)) + '%' 

注释(大部分已注释):

  • text 已弃用;你想使用nvarchar(max)(或nvarchar(max))代替

  • 始终使用显式、标准连接(使用 on 关键字)而不是隐式、老式连接(在 from 子句中使用逗号)

  • select 子句中的列应该用它们所属的 table 的别名限定,以避免任何歧义

您也可以进行搜索和替换....

SELECT ?.ticket_cp, ?.id_con, a.raison_sociale, ?.date, ?.Type, ?.RSP
FROM en_cours a
INNER JOIN Base_Client b
 ON b.Client LIKE '%', a.raison_sociale '%'