source

MySQL 테이블 컬럼 서브스트링 방법

lovecheck 2022. 12. 18. 08:40
반응형

MySQL 테이블 컬럼 서브스트링 방법

테이블에서 필드를 선택하고 하위 문자열을 지정합니다.

예를 들어 다음과 같습니다.

VAN1031 --> 1031

시도했지만 구문이 올바르지 않습니다.

SELECT SUBSTR(R.regnumber,3,3) from registration R

이것이 어떻게 행해지는가?

특정 인덱스의 오른쪽에 있는 모든 문자를 선택하려면 세 번째 인수(길이)가 필요하지 않습니다.

SELECT SUBSTR(R.regnumber, 4)
FROM registration AS R

또한 SQL 문자열은 많은 인기 있는 프로그래밍 언어에서와 같이 0 색인이 아닌 1 색인이기 때문에 시작 인덱스를 4로 변경했습니다.

다음을 사용할 수 있습니다.

SUBSTR(string,position)
SUBSTR(string,position,length)
SUBSTRING_INDEX(string, delimiter, count)

예:

command                                      prints
-------------------------------------------  -----------
select substr("abcd", 1, 1)                  #a
select substr("abcd", 1, 2)                  #ab
select substr("abcd", 2, 1)                  #b
select substr("abcd", 2, 2)                  #bc
select substr("abcd", -2, 1)                 #c
select substr("abcd", -2, 2)                 #cd

select substring_index('ababab', 'b', 1);    #a
select substring_index('ababab', 'b', 2);    #aba
select substring_index('ababab', 'b', 3);    #ababa
select substring_index('ababab', 'b', -1);   #
select substring_index('ababab', 'b', -2);   #ab
select substring_index('ababab', 'b', -3);   #abab

select substr("abcd", 2)                     #bcd
select substr("abcd", 3)                     #cd
select substr("abcd", 4)                     #d
select substr("abcd", -2)                    #cd
select substr("abcd", -3)                    #bcd
select substr("abcd", -4)                    #abcd

링크에서.

다음을 사용할 수 있습니다.

select substring(col1, 4)
from table1

SQL Fidle with Demo를 참조하십시오.질문 내용은 다음과 같습니다.

SELECT substring(R.regnumber,4) 
from registration R

반환할 문자 수를 지정하는 경우:

select substring(col1, 4, 4)
from table1

mysql 인덱스는 많은 프로그래밍 언어처럼 0이 아닌 1부터 시작하는 것을 알게 되었습니다.

SELECT SUBSTRING(R.regNumber,1,3) FROM registration AS R

VAN을 반환하고

SELECT SUBSTRING(R.regNumber,4) FROM registration AS R

문자열의 나머지 부분을 1031로 반환합니다.

SELECT substring(R.regnumber FROM 4) FROM registration AS R;

부품을 문자열이 아닌 정수로 사용할 경우 다음과 같이 쓸 수 있습니다.

SELECT CAST(substring(R.regnumber FROM 4) AS UNSIGNED) FROM registration as R;

경우에 따라서는 마지막 문자가 없는 컬럼을 잡을 필요가 있습니다.예를 들어 다음과 같습니다.

This is a string

어떤 이유로 마지막 6자가 없는 열을 원한다고 가정해 보겠습니다.

This is a 

다음 작업을 수행할 수 있습니다(@bluefeet의 답변과 LENGHT 사용).

select substring(col1, 1,LENGTH(col1)-7)
from table1

예시에 불과하지만 잘못된 데이터베이스 가져오기를 수정하는 데 사용하고 있습니다.

언급URL : https://stackoverflow.com/questions/12771311/how-to-substring-a-mysql-table-column

반응형