42

こんにちは、データをロードするときに pentaho を使用して SQL サーバーから mysql にテーブル A データをロードしています。SQL サーバーから過去 7 日間のデータのみを取得する必要があります。タイムスタンプ

ここでは、以下のクエリを使用しましたが、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
4

9 に答える 9

50

次のようなものを試してください:

 SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on
 FROM News 
 WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
于 2014-12-22T09:13:58.903 に答える
10
select id,    
NewsHeadline as news_headline,    
NewsText as news_text,    
state,    
CreatedDate as created_on    
from News    
WHERE CreatedDate>=DATEADD(DAY,-7,GETDATE())
于 2014-12-22T09:13:07.577 に答える
2

これは私のために働いた!!

SELECT * FROM `users` where `created_at` BETWEEN CURDATE()-7 AND CURDATE()
于 2020-04-24T06:20:45.113 に答える
0

Pentaho DI を使用して実行したい場合は、「Modified JavaScript」ステップを使用して、以下の関数を記述できます。

dateAdd(d1, "d", -7);  // d1 is the current date and "d" is the date identifier

以下の画像を確認してください: [現在の日付を 2014 年 12 月 22 日と仮定]

ここに画像の説明を入力

それが役に立てば幸い :)

于 2014-12-22T11:12:58.070 に答える