我有一个用于从 MSSQL Server 检索数据的查询块。该查询有一些硬编码的日期值,需要每天更改以导入每日提要。我需要自动化这个执行。我现在正在使用 cloverETL 执行查询。这是查询(它是检索共享点活动数据的查询)
use
DocAve_AuditDB;
DECLARE
@ParameterValue VARCHAR(100),
@SQL
VARCHAR(MAX)
SET
@SQL = STUFF((SELECT 'UNION ALL SELECT COL_ItemTypeName, COL_UserName, COL_MachineIp, COL_DocLocation, DATEADD(SECOND, COL_Occurred / 1000, ''19700101 00:00'') as Date_Occurred, COL_EventAction FROM '+ TABLE_NAME + ' WHERE DATEADD(SECOND, COL_Occurred / 1000, ''19700101 00:00'') BETWEEN '+ '''20120515'''+ 'AND' + '''20120516'''+ 'AND ' + 'COL_ItemTypeName='+ '''Document''' AS 'data()'
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME LIKE '%2012_05%'
FOR
XML PATH('')),1,10,'')
EXEC
(@SQL)
在上面的块中,我希望 TABLE_NAME LIKE 参数,即 %2012_05% 是从当前数据中检索到的变量,也是 between 子句中的日期值
BETWEEN '+ '''20120515'''+ 'AND' + '''20120516''' 是今天的日期 1 和今天的日期
应该创建一个小的Java程序来处理这个问题,还是可以直接在查询本身中完成?如果是的话怎么办?
提前致谢