比较时,相同的数据类型不兼容

时间:2015-03-11 18:20:25

标签: sql sql-server sql-server-2012

@param text AS
SELECT count(id) from news where col = @param

执行上述存储过程时,会发生错误:

  

数据类型文本和文本在等于运算符

中不兼容

为什么?

2 个答案:

答案 0 :(得分:1)

是的,您应该避免使用text数据类型,并且可以使用varchar(max)或类似的其他数据类型。对于当前方案,您无法将=运算符与text数据类型一起使用。而不是那样,您可以尝试LIKE作为此

SELECT count(id) from news where col LIKE @param

答案 1 :(得分:0)

试试这个:

DECLARE @param VARCHAR(MAX) = 'YourValue';
SELECT COUNT(id) FROM news WHERE CAST(col AS VARCHAR(MAX)) = @param;