없는 경우 나 ID를 얻고이 존재하거나 현재 날짜를 반환하는 경우 테이블에서 날짜를 반환하는 기능을 가지고 :업데이트 필드
CREATE FUNCTION [dbo].[CLOSEDATE] (@ID int)
RETURNS datetime
AS
BEGIN
DECLARE @closed int;
DECLARE @result datetime;
SELECT @result = created_on from dbo.statuses_history
WHERE journalized_id = @ID and new_status = 'Закрыто';
IF @result IS NULL
SELECT @result = GETDATE()
RETURN (DATEADD(dd, 0, DATEDIFF(dd, 0, @result)))
END;
다음 쿼리는 테이블에서 정확한 날짜를 반환 :
를select dbo.closedate(4170)
select dbo.closedate(id) from issues where id = 4170
그리고 다음 코드 업데이트 기록을 올바르게 (테이블 값) :
DECLARE @d AS datetime
select @d = dbo.closedate(4170)
UPDATE issues SET created_on = @d WHERE issues.id = 4170
는하지만 현재 날짜를 얻을 필드를 업데이트하면 다음과 같습니다.
UPDATE issues
SET created_on = dbo.CloseDate(id)
WHERE issues.id = 4170
ID 매개 변수가 함수에 전달되지 않은 것처럼 보입니다.
그래, 내가 노력했다. 중요하지 않습니다 – demas