我正在尝试做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+ '%'
错误:
在add运算符中,数据类型varchar和text不兼容。
答案 0 :(得分:2)
您可以将cast
text
变成varchar(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
子句中的列应使用其所属表的别名进行限定,以避免任何歧义
答案 1 :(得分:0)
您还可以搜索并替换。...
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 '%'