2010-12-10 4 views
0

나는 사용자 테이블을로드하는 proc를 가지고 있으며 이렇게하면 사용자와 해당 관리자 간의 연관성이 생깁니다. 나는 아래의 간단한 선택을 통해 각 사용자 레코드에 대해 maanger를 알아낼 수 있습니다. 사용자에게 할당되어야하는 관리자가 있지만 사용자가 비어있게되고 managerId의 할당이 누락되었음을 알 수 있습니다.sql이 동일한 문자열 비교를 올바르게 평가하지 않습니다.

DECLARE @managerId INT  
SET @managerId = NULL  

IF @CorpManagerDN IS NOT NULL  
BEGIN  

IF EXISTS (SELECT 69 FROM Employees WITH(NOLOCK) WHERE CorpManagerDN = @CorpManagerDN)  
BEGIN  
    SELECT @managerId = EmployeeId FROM Employees WHERE CorpDN = @CorpManagerDN 
END  
END 

사용자 ID가 잘 작동 그래서 자기 incrmenting 필드이며, 관리자 ID 필드 위의 논리로 채워집니다. 나는

CN = Tsahalis \ 피터 NBKPVUD, OU = 사전 BAND, OU = 계정, OU = BAND, DC = 공사, DC = bankofamerica 같은 CorpManagerDN 값을 볼 때 내가 빈 관리자 ID 값을 가져 때때로 발견 , DC = COM

내가

같은 관리자의 CORPDN의 가치를

CN = Tsahalis \ 피터 NBKPVUD, OU = 사전 BAND, OU = 계정, OU = BAND, DC = 법인, 직류 = 은행 계좌, 직류 = com

하지만 SQL과 일치하지 않습니다.

+0

무슨 SQL 서버 데이터 정렬과 동일한 것 – anivas

답변

1

그들은 나를

select 
case when 
    'CN=Tsahalis\, Peter NBKPVUD,OU=Pre-BAND,OU=Accounts,OU=BAND,DC=corp,DC=bankofamerica,DC=com' 
     = 'CN=Tsahalis\, Peter NBKPVUD,OU=Pre-BAND,OU=Accounts,OU=BAND,DC=corp,DC=bankofamerica,DC=com' 
    THEN 1 
    else 0 
END 
관련 문제