使用带有链接服务器的 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;
每次我执行这个查询我都会得到这个错误: 数据类型 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;