使用带有链接服务器的 like 子句在日期时间中使用带有变量的 Openquery

Openquery with variables in datetime using like clause with linked server

每次我执行这个查询我都会得到这个错误: 数据类型 varchar 和 varchar 在模运算符中不兼容。寻求你的帮助。谢谢!

DECLARE @date datetime, @SQL NVARCHAR(MAX);

SET @date = '2019';

SET @SQL = 'SELECT * FROM OPENQUERY(LINK2, ''SELECT * FROM wordpress.wp_users WHERE user_registered LIKE '''%' +@date+ '%''''')';

EXEC sp_executesql @SQL;

您可以是 varchar(4),因为您将其设置为字符串。然后使用 datepart()

DECLARE @date varchar(4), @SQL NVARCHAR(MAX);

SET @date = '2019';

SET @SQL = 'SELECT * FROM OPENQUERY(LINK2, ''SELECT * FROM wordpress.wp_users WHERE DATEPART(yy, user_registered) LIKE ''''%' +@date+ '%'''''')';

EXEC sp_executesql @SQL;