0
데이터를 실행하기 전에 사용하는 저장 프로 시저 내에 케이스가 있습니다.CASE 문이 내 저장 프로 시저 내에서 잘못된 결과를 제공합니다.
DECLARE @Setup nvarchar(50)
SELECT
@ZipCode = CASE
WHEN REPLACE(@ZipCode, '0', '') = ''
THEN NULL ELSE @ZipCode
END,
@ZipCodeEND = CASE
WHEN REPLACE(@ZipCodeEND, '0', '') = ''
THEN NULL ELSE @ZipCodeEND
END,
SELECT
@Setup = CASE WHEN (LEN(ISNULL(@ZipCode, ''))) > 0 THEN '1' ELSE '0' END +
CASE WHEN (LEN(ISNULL(@ZipCodeEND,''))) > 0 THEN '1' ELSE '0' END
IF ISNULL(@ID, 0) = 0
BEGIN
INSERT INTO dbo.MapToStaticValuesTable(ZipCode, ZipCodeEND, Setup)
VALUES(@ZipCode, @ZipCodeEND, @Setup)
END
문제는 여기에 우편 번호와 zipcodeEnd가 비어 내가 값 "11"대신 받고 "00"가 계속 테이블에 저장 한 후 null로 설정하더라도이다. 내가 nvarchar
값과 같은 예를한다면
ZipCode
및
ZipCodeEnd
이
int
로 설정되어 있기 때문에 그것은 이상한 행동입니다.
감사합니다. "설정"열의 목적은 유효성 검사에이 값을 사용하는 다른 프로그램이 있다는 것입니다. 나는 그것이 이상하다는 것을 알고있다 :-) – MishMish