내 ERP 데이터베이스는 null이 허용되지 않는 datetime 필드를 사용합니다. 그러나, datetime이 없을 때 ''를 입력하고 '1900-01-01 00 : 00 : 00.000'을 값으로 반환합니다.저장 프로 시저와 오류 처리를위한 사용자 정의 함수
Datetime 필드에서만 Date를 제거하는 동안 1900 개의 날짜를 표시하지 않으려합니다. 나는 그것을 할 수있는 다음과 같은 UDF 생성 :
CREATE FUNCTION ExtractDate(@DirtyDate DATETIME)
RETURNS VARCHAR(10) AS
BEGIN
DECLARE @CleanDate VARCHAR(10)
SELECT @CleanDate =
CASE
WHEN @DirtyDate = '' THEN ''
ELSE CONVERT(VARCHAR(10), @DirtyDate, 101)
END
RETURN @CleanDate
END
이 작동을하지만 사용자가 날짜 필드가 아닌 다른 뭔가를 사용하는 경우 오류 처리를 추가하고 싶었다. 인터넷 검색을 한 후, 나는 이것이 UDF에서 가능하지 않다는 것을 알아 냈다.
그러나 저장 프로 시저로이 코드를 작성하면 select 문에서 호출 할 수 있습니까? 누군가 올바른 방향으로 나를 가리킬 수 있습니까?