데이터 중에는 문자열 타입이 존재하는데, 이러한 데이터를 위한 연산자가 따로 존재한다.
아래는 몇가지 예시를 서술한다.
CONCAT(A,B ...)
MySQL에서는 CONCAT이라는 함수로 문자열 결합을 지원한다.
파라매터의 값은 최소 2개 이상이여야 하며, 그 이상 들어가도 상관없다. 물론 MySQL에서도 || 방식이 가능하긴 하다. 하지만 해당 방식을 사용할려면 SQL모드를 변경해야 한다.
Can MySQL concatenate strings with || - stack overflow
SUBSTRING(str,pos),
SUBSTRING(str FROM pos),
SUBSTRING(str,pos,len),
SUBSTRING(str FROM pos FOR len)
SUBSTRING이 이를 지원한다.
여러가지 파라매터를 지원하는데, 기본적으로 str이 타겟이 되며,
pos가 자를 위치이며 양수를 입력하면 왼쪽, 음수로 시작 시 오른쪽을 기준으로 본다. 단 일반적으로 우리가 아는 배열과는 다르게 0, length - 1 이 아닌 1, length이 맨 앞 또는 뒤를 지칭한다.
len은 해당 위치에서 얼마만큼의 단어 개수를 자를지를 설정한다.
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str),
TRIM([remstr FROM] str)
문자열의 앞 뒤의 여분를 제거할 때 TRIM이 이를 지원한다.
str이 타겟이 되는 문자열이며,
BOTH, LEADING, TRAILING 옵션을 통해 각각 전부, 앞, 뒤만 제거할 수 있다.
remstr를 지정하면 해당 문자열만 제거하며, 해당 값을 지정하지 않으면 space를 제거한다.
CHAR_LENGTH(str)
CHARACTER_LENGTH(str)
CHAR_LENGTH 또는 CHARACTER_LENGTH이 이를 지원하며, 둘 다 같은 기능을 하는 함수이다.
str이 타겟이 되는 문자열이다.
LENGTH(str) 라는 함수도 존재하나 문자의 개수를 센다는 점에서 차이점이 존재한다. 예시로 만약 2-byte character를 가지는 문자열 데이터가 있고, LENGTH 함수 호출 시 10이라는 값을 반환한다면, CHARACTER_LENGTH 함수는 5를 반환하게 된다.