SQL Serverでsysjobsとsysjobhistoryを使用していますが、私はグーグルで検索していますが、この質問に直接答えは見つからないようです。私はWHERE句でこれをやろうとしているからだと思います。WHERE句でINTをDATEに変換する - TSQL
基本的には、実行した日(基本的に今日の日付)に失敗したジョブを選択しようとしています。現在のコードは、失敗した既存のジョブをすべて選択しているためです。
以下が私のコードです:
メッセージ529、レベル16、状態2、行13
日までのデータ型intからの明示的な変換を:SELECT DISTINCT sj.name, COUNT(sjh.instance_id) AS errors FROM msdb..sysjobhistory sjh JOIN msdb.dbo.sysjobs sj ON sj.job_id = sjh.job_id WHERE name IN ('SQLAgentJob1', 'SQLAgentJob2') AND sjh.run_status = 1 AND (SELECT CONVERT(DATE, CONVERT(INT, sjh.run_date), 112)) = (SELECT CONVERT(DATE, GETDATE(), 112)) GROUP BY sj.name
私はというエラーを取得しておきます許可されていません。
サブクエリのポイントは何ですか? –
サブクエリにある必要はないと仮定していますか? – AznDevil92
問題の根源ではありませんが、サブクエリである必要はありません。 –