JavaScript와 같은 언어에서는 두 개의 조건문을 사용할 수 있으며 두 번째 조건문을 첫 번째 조건문으로 "보호"할 수 있습니다. 예를 들어 :SQL 'where'절의 조건 실행 순서에 의존하는 대신
if(scarryObject != null && scarryObject.scarryMethod()) { ... }
// if scarryObject is null scarryMethod will not be called
가 나는과 같이 SQL에서 동일한을 달성 것이라고 생각 :
where int_date > 19500101
and month(CONVERT(smalldatetime, ... int_date))
여기서 문제는 int_date
-1, 0, 1 등 약간의 "나쁜"값의 경우 변환이 실패하고 sp가 오류와 함께 중지됩니다. 처음 체크 int_date > 19500101
이 먼저 평가 될 것이라고 생각했고, false이면 두 번째 조건은 건너 뛸 것이라고 생각했습니다.
마치 이런 식으로 작동하지 않는 것 같습니다 ... 아니면? 이 일을하는 다른 방법이 있습니까?
감사합니다.