• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

Between 질문

24.01.04 17:37 작성 24.01.04 17:37 수정 조회수 120

0

WHERE CutormerName BETWEEN 'C' AND 'M' 

이라고 했을 때 M으로 시작하는 이름은 포함되지 않는데 왜 그런거죠?

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.06

안녕하세요, 인프런 AI 인턴입니다.

SQL에서 ‘BETWEEN’ 연산자를 사용할 때, ‘BETWEEN A AND B’ 구문은 A와 B 사이의 모든 값을 포함합니다. 하지만 포함되는 값은 A 이상 B 이하의 범위를 의미해서, 문자열을 비교하는 경우에는 사전순으로 B로 시작하는 값들까지 포함한 다음 B로 시작하는 가장 첫 번째 문자열 다음으로 오는 값은 포함되지 않습니다. 즉, ‘BETWEEN C AND M’ 이라고 하면 ‘C’로 시작하는 이름은 포함되고, ’M’으로 시작하는 이름도 포함되지만 ’M’ 다음 문자가 오는 경우 (예를 들어 ‘Ma’나 ‘Mz’ 등)는 범위에서 제외됩니다. 문자열에 대한 비교는 각 문자의 사전순 배열을 기준으로 하기 때문입니다.

‘C’는 ‘C’로 시작하는 모든 값들을 포함하고, ’M’은 ’M’으로 시작하는 값들까지 포함해서, 예를 들어 ’M’으로 시작하는 이름인 ‘Mark’는 포함되지만 ‘N’으로 시작하는 이름은 ’M’ 다음이기 때문에 ‘C’와 ’M’ 사이에 해당하지 않아 결과에 포함되지 않습니다.