MySQL 기판 함수
MySQL의 하위 문자열 기능은 문자열에서 기판을 추출하는 데 사용됩니다. 기본 구문은 서브 스트링 (str, start, length) 또는 서브 스트링 (start for start for length)이며, 여기서 STR은 원래 문자열이며 시작은 시작 위치 (1부터 시작)이며 길이는 추출 할 문자 수 (선택 사항)입니다. 1. 사용 중에 길이가 생략되면 문자열 끝까지 추출됩니다. 2. 사서함 도메인 이름 또는 경로에서 사용자 ID를 추출하는 것과 같은 필드에서 특정 부품을 추출하는 데 종종 사용됩니다. 3. 인덱스는 1부터 시작하고 시작은 빈 문자열을 길이 이상으로 반환하고 다중 바이트 문자를 처리 할 때 바이트가 아닌 문자별로 계산합니다. 4. 더 복잡한 문자열 처리 작업을 달성하기 위해 locate (), char_length () 등과 같은 다른 기능과 함께 사용할 수 있습니다. 이러한 주요 포인트를 마스터하면 텍스트 데이터를 효율적으로 처리하는 데 도움이 될 수 있습니다.
MySQL의 SUBSTRING
기능을 사용하여 문자열에서 하위 문자열을 추출 할 수 있습니다. 텍스트 데이터를 처리 할 때 매우 실용적인 기능입니다. 사용자 이름 차단, 주소 정보 해결 및 로그 컨텐츠 추출과 같은 실제 응용 프로그램에서 사용됩니다.

1. 기본 구문 및 사용
기본 SUBSTRING
기능에는 몇 가지 형태의 기본 쓰기가 있습니다.
-
SUBSTRING(str, start, length)
-
SUBSTRING(str FROM start FOR length)
안에:

-
str
은 원래 문자열입니다 -
start
시작 위치입니다 (1에서 계산) -
length
추출 할 문자 수입니다 (선택 사항)
예를 들어 'Hello World'
에서 'World'
추출하려면 다음과 같이 쓸 수 있습니다.
SELECT SUBSTRING ( 'Hello World', 7, 5);
결과는 'World'
입니다. 공백은 또한 캐릭터로 간주되므로 'H'
는 첫 번째 비트이고, 따르는 공백은 6 비트이고, 'W'
7 번째 비트입니다.

length
생략되면 문자열의 끝까지 가져갑니다.
SELECT SUBSTRING ( 'Hello World', 7); - '세계'얻기
2. 시나리오 사용 : 필드에서 특정 부품을 추출하십시오
실제 개발에서는 종종 데이터베이스 테이블의 필드에서 컨텐츠의 일부를 추출해야합니다. 예를 들어, email
이라는 필드가있는 users
테이블이 있습니다. 각 사용자의 도메인 이름 부분을 추출하려고합니다.
사용자의 도메인으로 구하 세트 ( '@', 이메일) 1)를 선택하십시오.
여기서 LOCATE()
함수는 @
의 위치를 찾기 위해 결합 된 다음 전체 도메인 이름이 다음 비트에서 추출됩니다.
예를 들어, /user/12345/profile.jpg
와 같은 레코드 경로 열이 있으며 사용자 ID 부분을 추출하려고합니다.
로그에서 서브 스트링 (Path, 7, 5)을 선택하십시오.
고정 형식을 아는 한 이런 식으로 빠르게 추출 할 수 있습니다.
3. 예방 조치 및 FAQ
SUBSTRING
사용할 때 오류가 발생하기 쉬운 몇 가지 세부 사항이 있으며 다음에주의를 기울여야합니다.
- 인덱스는 0이 아닌 1에서 시작합니다 . 언어 어레이 인덱싱을 프로그래밍하는 데 사용되는 경우 혼란 스러울 수 있습니다.
-
start
문자열 길이를 초과하면 빈 문자열이 반환됩니다. -
length
음수이거나 0 인 경우 버전 및 구성에 따라 널 값 또는 오류가 반환 될 수도 있습니다. - 다중 바이트 캐릭터 (예 : 중국어)의 경우 캐릭터 세트의 영향에주의하십시오. 예를 들어,
utf8mb4
하에서 한자는 4 바이트를 차지할 수 있지만,SUBSTRING
바이트가 아닌 문자로 계산됩니다.
예를 들어:
SELECT SUBSTRING ( 'Hello World', 3, 2); - '세계'로 돌아 가기
"You"는 첫 번째 캐릭터이기 때문에 "Good"은 두 번째이며 "World"는 세 번째이므로 세 번째로부터 2자는 "World"입니다.
4. 다른 문자열 함수와 쌍을 이룰 때 더 강력합니다.
SUBSTRING
종종 다음 기능과 함께 사용됩니다.
-
LOCATE()
: 캐릭터의 위치를 찾으십시오 -
CHAR_LENGTH()
: 문자 길이를 가져옵니다 (LENGTH()
아님, 바이트 길이입니다) -
LEFT()
/RIGHT()
: 왼쪽 또는 오른쪽에서 문자 가져 오기 시작 (MySQL 5.7에 의해 지원) -
SUBSTR()
: 실제로SUBSTRING
의 별칭이며 상호 교환 적으로 사용할 수 있습니다.
예를 들어, 로그에서 괄호 안에 내용을 추출하려고합니다.
선택하다 서브 스트링 (locate의 log_message ( '[', log_message) 1 locate ( ']', log_message) - locate ( '[', log_message) -1). 로그에서;
이 진술은 약간 복잡해 보이지만 여러 기능을 결합하여보다 정확한 추출 작업을 수행하는 방법을 설명합니다.
기본적으로 그게 다야. 문자열을 처리 할 때 기본 사용법과 공통 조합을 SUBSTRING
하는 것이 훨씬 편리합니다. 기능은 간단하지만 영리하게 사용하면 많은 실제 문제를 해결할 수 있습니다.
위 내용은 MySQL 기판 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Adeadlockinjavaoccurswhentwoormorethreadsareblockedsforever,, 일반적으로, 일반적으로 duetocircularwaitcausedbyinconsentlockordering; thiscanbeptrededbectedbectedbectedbectedbectedbectefeartefournecessaryconditions —MutualExclusion, holdandwait, nopualwait, nopualclusion, nopualclusion

useOptional.empty (), 옵션.의 (), andoptional.ofnullable () theCreateOptionalInstancesDependingOnsabsent, non-null, orpossiblynull.2.checkforvaluessafelyusingispresent () orpreferlyinglioid () toaviDIDHECK.3

공개 회원은 마음대로 액세스 할 수 있습니다. 2. 개인 회원은 반 내에 만 액세스 할 수 있습니다. 3. 보호 된 회원에게 수업 및 서브 클래스에서 액세스 할 수 있습니다. 4. 합리적 사용은 코드 보안과 유지 관리를 향상시킬 수 있습니다.

제공자 메커니즘을 통해 알고리즘을 구현하는 MessageDigest, Cipher, Keygenerator, Securandom, Signature, Keystore 등과 같은 JCA 핵심 구성 요소를 이해합니다. 2. SHA-256/SHA-512, AES (256 비트 키, GCM 모드), RSA (2048 비트 이상) 및 Securerandom과 같은 강력한 알고리즘 및 매개 변수를 사용하십시오. 3. 하드 코딩 된 키를 피하고 KeyStore를 사용하여 키를 관리하고 PBKDF2와 같은 안전하게 파생 된 암호를 통해 키를 생성합니다. 4. ECB 모드 비활성화, GCM과 같은 인증 암호화 모드를 채택하고 각 암호화에 고유 한 IV를 사용하고 민감한 민감한 IV를 시간에 사용하십시오.

의존적으로 의존적 인 경우 의존성 의존성을 징수하는 경우 1.ITREDUCESTIGHTCUPLIGINGSTORECEIVEREATESTORECHATHERTHARTHREATGEMETHEM.2.constructorInjectionpassesDependEsviAtheconstructor, restirevailIbl

SpringDataJPA 및 최대 절전 모드의 핵심은 다음과 같습니다. 1. JPA는 사양이고 최대 절전 모드는 구현, SpringDataJPA 캡슐화는 DAO 개발을 단순화합니다. 2. 엔티티 클래스 @entity, @id, @column 등을 통해 데이터베이스 구조를 맵핑합니다. 3. 저장소 인터페이스는 JParePository를 상속하여 CRUD 및 명명 된 쿼리 메소드를 자동으로 구현합니다. 4. 복잡한 쿼리 @Query 주석을 사용하여 JPQL 또는 기본 SQL을 지원합니다. 5. SpringBoot에서는 스타터 종속성을 추가하고 데이터 소스 및 JPA 속성을 구성하여 통합이 완료됩니다. 6. 거래는 @transactiona에 의해 이루어집니다

패턴 클래스는 정규 표현식을 컴파일하는 데 사용되며 매칭 클래스는 문자열에서 일치하는 작업을 수행하는 데 사용됩니다. 이 둘의 조합은 텍스트 검색, 일치 및 교체를 실현할 수 있습니다. 먼저 Pattern.comPile ()을 통해 Pattern Object를 작성한 다음 Matcher () 메서드를 호출하여 매치 자 인스턴스를 생성하십시오. 그런 다음 matches ()를 사용하여 전체 문자열 일치를 판단하고 ()를 판단하고 ()를 찾으려면 하위 시퀀스, replaceall () 또는 replacefirst ()를 대체 할 수 있습니다. 정규에 캡처 그룹이 포함 된 경우 Nth 그룹 내용은 그룹 (N)을 통해 얻을 수 있습니다. 실제 응용 프로그램에서 반복적 인 컴파일 패턴을 피하고 특수 문자 탈출에주의를 기울이고 필요에 따라 일치하는 패턴 플래그를 사용하고 궁극적으로 효율적으로 달성해야합니다.

MySQLI 객체 지향 메소드 사용 : 연결을 설정하고, 전처리 업데이트 문을, 매개 변수를 바인딩하고, 결과를 실행하고 확인하고, 마지막으로 리소스를 닫습니다. 2. MySQLI 프로 시저 사용 방법 : 기능을 통해 데이터베이스에 연결하고, 진술을 준비하고, 매개 변수를 바인딩하고, 업데이트를 수행하고, 오류를 처리 한 후 연결을 닫습니다. 3. PDO 사용 : PDO를 통해 데이터베이스에 연결하고, 예외 모드를 설정하고, 사전 프로세스 SQL, 파라미터를 바인딩하고, 업데이트를 수행하고, Try-Catch를 사용하여 예외를 처리하고, 최종적으로 리소스를 해제하십시오. SQL 주입을 방지하고 사용자 입력을 확인하고 정시에 연결을 닫으십시오.
