개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.03 19:22

POSITION(substr IN str) 함수에 대한 질문

목록
  • 해커랭크매니아 2일 전 2025.05.03 19:22
  • 10
    1
제가 배운 SQL 문법 중 POSITION(substr IN str) 함수를 사용하여 문자열 내에서 특정 문자열의 위치를 찾는 방법에 대해 질문을 드립니다.

제가 이해한 바로는 POSITION(substr IN str) 함수는 문자열 str 내에서 substr이 시작하는 위치를 반환하는 함수라고 합니다. 하지만 다음의 예시에서 어떤 오류가 발생하는지 이해하지 못하겠습니다.

예시:
SELECT POSITION('abc' IN 'abcdef') FROM dual;

위의 SQL 문법은 정상적으로 '1'을 반환합니다. 하지만 다음의 예시에서 어떤 오류가 발생하는지 이해하지 못하겠습니다.

예시:
SELECT POSITION('abc' IN 'defabc') FROM dual;

위의 SQL 문법은 '1'을 반환하는 것이 아닌 '6'을 반환하는 것이 아닌 '1'을 반환합니다. 왜 이러한 차이가 있는지 이해를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    POSITION(substr IN str) 함수는 문자열 str 내에서 substr이 시작하는 위치를 반환하는 함수입니다.

    위의 예시에서 \'abc\'이 \'abcdef\' 내에서 1번째 위치에 있으므로 \'1\'을 반환합니다.

    이러한 이유는 \'abc\'이 \'abcdef\' 내에서 처음으로 나타나는 위치가 1이기 때문입니다.

    위의 예시에서 \'abc\'이 \'defabc\' 내에서 처음으로 나타나는 위치가 1이기 때문에 \'1\'을 반환합니다.

    이러한 이유는 \'abc\'이 \'defabc\' 내에서 처음으로 나타나는 위치가 1이기 때문입니다.

    위의 예시에서 \'abc\'이 \'defabc\' 내에서 두 번째로 나타나는 위치가 4이기 때문에 \'4\'을 반환하는 것이 아닌 \'1\'을 반환합니다.

    이러한 이유는 \'abc\'이 \'defabc\' 내에서 처음으로 나타나는 위치가 1이기 때문입니다.

    2025-05-03 19:23

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 16,950건 / 41 페이지

검색

게시물 검색