Mysql

문자열 함수

흑우흐규 2023. 4. 27. 17:58

UCASE, UPPER 모두 대문자로
LCASE, LOWER 모두 소문자로

UCASE, UPPER 모두 대문자로
LCASE, LOWER 모두 소문자로
이런식으로 사용한다.

------------------------------------------------------------------
CONCAT(...) 괄호 안의 내용 이어붙임
CONCAT_WS(S, ...) 괄호 안의 내용 S로 이어붙임
SELECT CONCAT('HELLO', ' ', 'THIS IS ', 2021)
이런 식으로 사용한다.


SELECT CONCAT_WS('-', 2021, 8, 15, 'AM')
이 친구는 -로 이어붙인다는 뜻이다.
------------------------------------------------------------------
SUBSTR, SUBSTRING 주어진 값에 따라 문자열 자름
LEFT 왼쪽부터 N글자
RIGHT 오른쪽부터 N글자

SELECT
OrderDate,
LEFT(OrderDate, 4) AS Year,
SUBSTR(OrderDate, 6, 2) AS Month,
RIGHT(OrderDate, 2) AS Day
FROM Orders;

요런 식으로 사용하면 된다.
SUBSTR(OrderDate, 6, 2) 이 친구는 6번째부터 2글자 가져온다는 것이고
나머지는 문자 그대로 해석하면 된다.

------------------------------------------------------------------
LENGTH 문자열의 바이트 길이
CHAR_LENGTH, CHARACTER_LEGNTH 문자열의 문자 길이

SELECT
LENGTH('ABCDE'),
CHAR_LENGTH('ABCDE'),
CHARACTER_LENGTH('ABCDE');
뭐가 다른지 잘 모르겠다.
------------------------------------------------------------------
TRIM 양쪽 공백 제거
LTRIM 왼쪽 공백 제거
RTRIM 오른쪽 공백 제거

SELECT
CONCAT('|', ' HELLO ', '|'),
CONCAT('|', LTRIM(' HELLO '), '|'),
CONCAT('|', RTRIM(' HELLO '), '|'),
CONCAT('|', TRIM(' HELLO '), '|');

이런 식으로 사용하게 된다.
------------------------------------------------------------------

LPAD(S, N, P) S가 N글자가 될 때까지 P를 이어붙임
RPAD(S, N, P) S가 N글자가 될 때까지 P를 이어붙임

SELECT
LPAD('ABC', 5, '-'),
RPAD('ABC', 5, '-');
이런 식이다.

REPLACE(S, A, B) S중 A를 B로 변경
------------------------------------------------------------------

SELECT
REPLACE('맥도날드에서 맥도날드 햄버거를 먹었다.', '맥도날드', '버거킹');
되게 찾아바꾸기 같다.

INSTR(S, s) S중 s의 첫 위치 반환, 없을 시 0
CTRL+F와 같다고 생각하면 될 거 같다.

CAST(A AS T) A를 T 자료형으로 변환
CONVERT(A, T) A를 T 자료형으로 변환

SELECT
'01' = '1',
CAST('01' AS DECIMAL) = CAST('1' AS DECIMAL);

이 경우에는 문자열을 문자열로 비교하기 때문에 숫자로 바꾸지 않는 거 같다.

'Mysql' 카테고리의 다른 글

연산자  (0) 2023.04.27
숫자 함수  (0) 2023.04.27
시간 날짜 함수  (0) 2023.04.27
조건문  (0) 2023.04.27
비상관 서브쿼리  (0) 2023.04.27