일부 SQL에 대한 약간의 도움이 필요합니다. VARCHAR
값을 사용하여 WHERE 절에서 사용할 논리를 결정하지만이 사례 문을 쓰는 데 문제가 있습니다. 키워드 근처T-SQL where 절 case 문
where
(CASE WHEN @p_flag = 'ATA'
THEN (@p_start_ata IS NULL AND @p_end_ata IS NULL) OR (vso.poa_ata between @p_start_ata and @p_end_ata)
ELSE (@p_start_atd IS NULL AND @p_end_atd IS NULL) OR (vso.pol_atd between @p_start_atd and @p_end_atd)
)
라인 (93)이 잘못된 구문 '는'.
그것의 아마 사소한 오류하지만 나를 좌절. 어쩌면 이것을 쓰는 더 좋은 방법이 있을까요? 감사!
CASE 문은 전체 코드 블록이 아닌 ** 값 **만을 제공 할 수 있습니다. 당신은 논리를 재정렬해야합니다 –