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


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

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

数据类型文本和文本在等于运算符中不兼容

为什么?

是的,您应该避免使用text数据类型,并且可以使用varchar(max)或类似的其他数据类型。对于当前方案,不能将=运算符与text数据类型一起使用。取而代之的是,您可以尝试使用LIKE,如下所示

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

试试这个:

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

最新更新