我正在嘗試使用SQL Server代理自動執行任務以生成定期插入表的人員的報告。我創建了下面的存儲過程,並試圖在SQL Server代理作業中使用相同的查詢,但無法運行,有人可以請幫忙。如何根據GETDATE檢索記錄
SELECT s.LAST_NAME AS sn,
RTRIM(s.FIRST_NAME)+ ' ' + LTRIM(s.LAST_NAME) AS Name,
s.FIRST_NAME AS F_Name
LEFT(middle_name,1) AS Initial,
sy.USERNAME AS USER,
s.HOME_ZIP AS ZIP,
RTRIM(UPPER(sy.USERNAME)) + LTRIM('@xyz.com') AS userP,
stm.DESCRIPTION_Maj AS company,
rg.RECORD_INPUT_DATE
FROM STCIO s
JOIN SYSME sy
ON s.ID_NUMBER =sy.ID_NUMBER
JOIN EHMGR rg
ON s.ID_NUMBER =rg.ID_NUMBER
JOIN STMEER stm
ON rg.MAJOR =stm.MAJOR
AND s.MAT_CODE IN ('','G','Q')
AND rg.CURRENT_FLAG = 'X'
AND CONVERT(datetime,CONVERT(CHAR(8),rg.RECORD_INPUT_DATE)) = GETDATE()
注意:數據類型是Record_input_date
接收numeric(8,0)
錯誤消息是
「算術溢出錯誤將表達式轉換爲數據類型日期時間」。
我沒有權限進行任何更改。我要查找的所有信息都是將此查詢轉換爲record_input_date
(數字)至datetime
,並根據getdate()
感謝您的投入和極大的幫助格式不對,我做了一些代碼更新,如下圖所示:RG .RECORD_INPUT_DATE =(CAST(CONVERT(VARCHAR(8),GETDATE(),112)AS INT))和它的工作如飛。 – Khatra
感謝您的回覆。請投票我的答案和/或接受它作爲正確的答案,如果你覺得它有用。這將有助於其他面臨類似問題的人。要知道如何接受答案,請參閱http://stackoverflow.com/help/someone-answers – DhruvJoshi