日期:2014-05-18  浏览次数:20878 次

请问错误"参数数据类型 sql_variant 对于 like 函数的参数 1 无效。"是什么意思
我在数据库中对一个字段进行like查询的时候,出现了上面的错误,请问大家这是什么意思呢?

------解决方案--------------------
select * from table where db like '%相应内容%'
------解决方案--------------------
SQL code

declare @T1 table([col] varchar(4))
insert @T1
select 1 union all
select 2 union all
select 0

select * from @T1 where col like '%1'
/*
col
----
1
*/

-- 上面的正常,下面的不正常,因为like用于查询的字段不能是sql_variant类型的

declare @T table([col] sql_variant)
insert @T
select 1 union all
select 2 union all
select 0

select * from @T where col like '%1'
/*
Argument data type sql_variant is invalid for argument 1 of like function.
*/

------解决方案--------------------
探讨
SQL code

declare @T table([col] sql_variant)
insert @T
select 1 union all
select 2 union all
select 0

select * from @T where cast(col as varchar(4)) like '%1'


类型转型一下,就不报错了...