0

新年からログインしていないユーザーを返す SQL クエリを作成しようとしています。これがクエリです。

SELECT 
    [jira].[dbo].[cwd_user].user_name,
    dateadd(second,cast(cast([jira].[dbo].[cwd_user_attributes].attribute_value as nvarchar(255)) as bigint)/1000,'19700101 00:00:00:000') AS last_logged
FROM 
    [jira].[dbo].[cwd_user], [jira].[dbo].[cwd_user_attributes]
WHERE 
    [jira].[dbo].[cwd_user].id = [jira].[dbo].[cwd_user_attributes].user_id
    AND [jira].[dbo].[cwd_user_attributes].attribute_name = 'login.lastLoginMillis'
    AND [jira].[dbo].[cwd_user_attributes].attribute_value < DATEPART(MS, '2012-12-31 23:59:59')

次のエラーが発生します。

nvarchar 値 '1374247985584' の変換で、int 列がオーバーフローしました。

4

2 に答える 2

0

これは Oracle 用です (申し訳ありませんが、手元に SQL Server はありません)。2013 年以降のユーザーとアクティビティのタイムスタンプが一覧表示されます。

WITH w_all_user_activities AS
 (SELECT author, g.created 
  FROM jiraissue i
  INNER JOIN changegroup g ON i.id = g.issueid
  INNER JOIN changeitem c ON c.groupid = g.id
  UNION
  SELECT author, created FROM jiraaction
  UNION
  SELECT reporter, created FROM jiraissue),
w_tmp_latest_user_activities AS
 (SELECT author, created, RANK() OVER (PARTITION BY author ORDER BY created DESC) dest_rank
  FROM w_all_user_activities ),
w_latest_user_activities AS
 (SELECT author, created FROM w_tmp_latest_user_activities WHERE dest_rank = 1)
SELECT * 
FROM w_latest_user_activities 
WHERE created >= TO_DATE('2013-01-01', 'yyyy-mm-dd');

次にcwd_user、パッシブ ユーザーを取得するためにアンチジョインを実行する場合があります。

于 2015-02-20T18:58:45.423 に答える