SRI*_*SRI 27 sql sql-server pentaho sql-server-2008-r2 pentaho-cde
嗨我在加载数据时使用pentaho将数据从sql server加载到mysql我只需要从sql server获取最近7天的数据一个表到mysql在sql server createddate列数据类型就像datetime AND在mysql created_on column datatype is时间戳
这里我使用下面的查询,但我只得到5天的数据
请帮我解决这个问题
select id,
NewsHeadline as news_headline,
NewsText as news_text,
state,
CreatedDate as created_on
from News
WHERE CreatedDate BETWEEN GETDATE()-7 AND GETDATE()
order by createddate DESC
Run Code Online (Sandbox Code Playgroud)
SMA*_*SMA 25
尝试类似的东西:
SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
FROM News
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
Run Code Online (Sandbox Code Playgroud)
小智 7
select id,
NewsHeadline as news_headline,
NewsText as news_text,
state,
CreatedDate as created_on
from News
WHERE CreatedDate>=DATEADD(DAY,-7,GETDATE())
Run Code Online (Sandbox Code Playgroud)
我认为过去七天你每天都没有数据.没有数据的天数显然不会出现.
试试这个并确认您在过去7天内每天都有数据
SELECT DISTINCT CreatedDate
FROM News
WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
ORDER BY CreatedDate
Run Code Online (Sandbox Code Playgroud)
编辑 - 从您的评论中复制
我有dec第19 -1行数据,第18行-2行,第17行-3行,第16行-3行,第15行-3行,第12行-2行,第11行-4行,第9行-1行,第8行-1行
您没有所有日期的数据.这是你的问题,而不是查询.如果您今天 - 22日执行查询 - 您将只获得第19,18,17,16和15日的数据.你没有第20,21和22日的数据.
编辑 - 要获取过去7天的数据,您可以尝试使用数据
select id,
NewsHeadline as news_headline,
NewsText as news_text,
state,
CreatedDate as created_on
from News
WHERE CreatedDate IN (SELECT DISTINCT TOP 7 CreatedDate from News
order by createddate DESC)
Run Code Online (Sandbox Code Playgroud)
小智 6
DATEADD 和 GETDATE 函数在 MySQL 数据库中可能不起作用。因此,如果您正在使用 MySQL 数据库,那么以下命令可能对您有所帮助。
select id, NewsHeadline as news_headline,
NewsText as news_text,
state, CreatedDate as created_on
from News
WHERE CreatedDate>= DATE_ADD(CURDATE(), INTERVAL -3 DAY);
Run Code Online (Sandbox Code Playgroud)
我希望它会帮助你