0
필드를 쉼표로 분리하는 UDF를 호출하는 매우 간단한 쿼리가 있습니다. 나는 그것을 구문 분석 실행/때 쿼리가'.'근처의 구문이 잘못되었습니다. - 매우 간단한 쿼리
select top 10 * FROM Emails e WHERE EXISTS(SELECT TOP 1 1 FROM dbo.fn_Split(e.committees,','))
, 내가 얻을 :
Msg 170, Level 15, State 1, Line 4
Line 4: Incorrect syntax near '.'.
난 당신이 하드 코딩 뭔가 e.committees을 (교체 아웃 전환하는 경우는 SQL 2000 함께 할 수있는 뭔가가 있어야합니다 생각 즉 'A, B, C, D') 제대로 작동합니다.
또한 10 개의 행 (전자 메일에 데이터가있는 경우)이 항상 반환된다는 것을 알고 있습니다. – Jonathan
그 부분에 대해 확실합니까? 'TOP 1 1 FROM'? – Andrey
문자열을 분할하는 함수를 사용하면 쿼리가 끔찍합니다. 문자열의 첫 번째 필드를 쉽게 얻을 수 있습니다. 이것은 단일 셀 안에 목록을 저장하는 정규화 규칙에 위배됩니다. 구문 오류가 있으면 심각한 문제가 발생합니다. – Andrey