> 데이터 베이스 > MySQL 튜토리얼 > SQL Server에서 하위 문자열의 마지막 인덱스를 효율적으로 찾으려면 어떻게 해야 합니까?

SQL Server에서 하위 문자열의 마지막 인덱스를 효율적으로 찾으려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2025-01-12 12:46:46
원래의
667명이 탐색했습니다.

How Can I Efficiently Find the Last Index of a Substring in SQL Server?

SQL Server에서 최종 하위 문자열 인스턴스를 효율적으로 찾기

SQL Server 문자열 조작에서 자주 발생하는 문제는 특정 하위 문자열이 마지막으로 나타나는 위치를 정확히 찾아내는 것과 관련됩니다. 전용 "LastIndexOf" 기능은 없지만 효과적인 방법은 존재합니다.

기존 방법: 문자열 반전 및 구문 분석

번거롭기는 하지만 일반적인 접근 방식에는 문자열을 역전시키고, 역전된 문자열에서 대상 하위 문자열의 첫 번째 인스턴스를 찾은 다음(CHARINDEX 사용) 인덱스를 역전시켜 원래 위치를 가져오는 작업이 포함됩니다. 이 기술은 기능적이지만 복잡하고 가독성이 부족합니다.

향상된 접근 방식: RIGHT()LEFT()

활용

SQL Server의 RIGHT()LEFT() 기능은 더욱 간편하고 효율적인 솔루션을 제공합니다. 마지막 밑줄("_") 다음 문자열 부분을 추출하려면 RIGHT():

을 활용하세요.
<code class="language-sql">SELECT RIGHT(db_name(), CHARINDEX('_', REVERSE(db_name() + '_') ) - 1)</code>
로그인 후 복사

반대로, 마지막 밑줄 전에 하위 문자열을 얻으려면 LEFT():

을 사용합니다.
<code class="language-sql">SELECT LEFT(db_name(), LEN(db_name()) - CHARINDEX('_', REVERSE(db_name() + '_')) )</code>
로그인 후 복사

이 표현식은 교묘하게 CHARINDEX()를 사용하여 역방향 문자열에서 밑줄을 찾고 LEN()을 사용하여 문자열의 길이를 확인합니다. 이 조합을 사용하면 복잡한 문자열 반전 프로세스 없이 빠르고 정확한 하위 문자열 추출이 가능합니다.

위 내용은 SQL Server에서 하위 문자열의 마지막 인덱스를 효율적으로 찾으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿