>데이터 베이스 >MySQL 튜토리얼 >MySQL의 문자열 함수에 대한 자세한 설명

MySQL의 문자열 함수에 대한 자세한 설명

零下一度
零下一度원래의
2017-07-17 11:01:441423검색

오늘 포럼에서 mysql에 대한 질문을 봤습니다. 질문은 다음과 같습니다.

good_id cat_id
12654, 이 분류 ID를 기준으로 데이터를 확인하는 방법은 무엇입니까? (제품에는 여러 카테고리가 있으며 쉼표로 구분됩니다.)
현재 사용하고 있습니다. 이 경우 카테고리 ID 688이나 4722를 입력하면 해당 상품이 나오지만, 카테고리 ID 722를 입력하면 해당 상품도 나옵니다.



like를 사용하면 분명히 문제가 발생할 것입니다. 나의 초기 아이디어는 cat_id의 문자열을 배열로 대체하여 mysql의 in 작업을 사용할 수 있도록 검색 722가 나타나지 않도록 하는 것입니다. 4722 카테고리에서 사용할 수 있습니다. 인터넷에서 오랫동안 검색해 보았는데 이 부분에서는 문자열 연산 함수를 찾을 수 없었습니다. 그런데 find_in_set 함수로는 문자열을 배열로 변환할 수 없는데도 위의 상황은 발생하지 않는다는 것을 알게 되었습니다. 제가 모르는 기능이 많다는 걸 알게 되어서 오랫동안 매뉴얼과 인터넷에서 모아서 몇 가지 예를 만들어 봤습니다.

CHAR_LENGTH(str) str

LENGTH(str) str

CONCAT(str1,str2....)의 바이트 길이를 반환합니다. 매개변수 str1,str2..를 반환합니다. .. 스플라이싱의 경우 null 값이 있으면 null이 반환됩니다

CONCAT_WS(x,str1,str2...) ---concat with 구분 기호 첫 번째 매개 변수 x는 구분 기호를 나타내며 다음 매개 변수는 문자열입니다

x가 NULL이면 NULL이 반환됩니다. 문자열에 NULL이 포함되어 있으면 무시됩니다.

INSERT(s1,x,len,s2) 문자열 대체 s1 대상 문자열 x가 시작 위치입니다. of s1(아래 첨자는 1부터 시작) len은 x 뒤의 길이이고 s2는 대체되어야 하는 문자열입니다.

x가 s1의 아래 첨자 길이를 초과하면 len이 뒤에 남은 문자열 길이보다 크면 s1을 반환합니다. LCASE(str) 문자열을 소문자로 변환

UPPER(str), UCASE(str) 문자열을 대문자로 변환

LEFT(str,n) 문자열 str의 가장 왼쪽 n개 문자를 반환

RIGHT(str,n) 문자열 str의 가장 오른쪽 n개 문자를 반환합니다.

LPAD(s1,len,s2) len<인 경우 전체 길이가 len이 될 때까지 s1의 왼쪽부터 패딩된 s2를 반환합니다. s1의 경우 s2는 패딩되지 않고 왼쪽부터 시작하여 s1의 len 길이 문자를 반환합니다.

RPAD(s1,len,s2)는 s1의 오른쪽부터 len 길이까지 패딩된 s2를 반환합니다(len<인 경우). ;s1의 길이, 그러면 s2는 채워지지 않고 왼쪽부터 s1의 len 길이 문자를 반환합니다

LTRIM(S) 왼쪽 공백 삭제 RTRIM(s) 오른쪽 공백 삭제 TRIM( s) 양쪽 공백을 삭제합니다

TRIM(s1 FROM s2) s2

REPEAT(s,n) n s, n<=로 구성된 문자열을 반환합니다. 0, 비어 있음 반환, s 또는 n이 NULL이면 NULL을 반환

SPACE(n) n 공백 문자열을 반환

REPLACE(s,s1,s2) 반환 - s의 모든 s1 문자열을 바꾼 결과 by s2

STRCPM(s1,s2) s1==s2는 0을 반환합니다. s1s2는 1

SUBSTRING(s,n,len), MID(s,n, len)은 len 길이의 문자열부터 시작하여 s를 반환합니다. n<0인 경우 s의 마지막 n 문자부터 차단이 시작됩니다. n=0인 경우 빈 문자열이 반환될 수 있습니다. n 이후의 모든 문자가 반환됩니다. 차단됩니다

LOCATE(str1, str2), POSITION(str1 IN str2), INSTR(str2, str1) str2에서 str1의 시작 위치를 반환합니다.

REVERSE(s) s의 문자열을 역방향으로 반환합니다.

ELT(n,str1,str2,str3...) str1, str2..의 n번째 문자열을 반환합니다. n이 초과하면 null을 반환합니다

FIELD(s,str1 , str2, str3.. ..) str1, str2....에서 s가 처음 나타나는 위치를 반환합니다. 0은 반환되지 않습니다

FIND_IN_SET(s, str1) str1 위치에서 s가 나타나는 위치를 반환합니다. 여기서 str1은 여러 개로 구성됩니다. 문자열, 쉼표로 구분된 목록

위 내용은 MySQL의 문자열 함수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.