LENGTH, LENGTHB, INSTR(@์ ์์น ์๋ ค์ค), SUBSTR(๋ฌธ์ ์๋ฆ),
LPAD, RPAD(๊ธธ์ด ์ ํ๊ณ ๋๋จธ์ง ์ฑ์์ค), LTRIM, RTRIM, TRIM(๊ณต๋ฐฑ์ ๊ฑฐ) โฆ
-- ์ฌ์๋ช
์์ ์ฑ๋ง ์ถ๋ ฅํ์ธ์
SELECT SUBSTR(EMP_NAME, 1, 1) "์ฌ์ ์ฑ" FROM EMPLOYEE;
SUBSTR
๋ ์ปฌ๋ผ์ด๋ ๋ฌธ์์ด์์ ์ง์ ํ ์์น๋ถํฐ ์ง์ ํ ๊ฐ์์ ๋ฌธ์์ด์ ์๋ผ๋ด์ด ๋ฆฌํด
ํ๋ ํจ์๋ก,
SUBSTR(STRING, POSITION(์์์ ), [LENGTH])
์ ํ์์ผ๋ก ์์ฑํ๋ค.
-- ์ฌ์๋ช
์ ์ค๋ณต์์ด ์ถ๋ ฅํ์ธ์.
SELECT DISTINCT EMP_NAME "์ฌ์๋ช
" FROM EMPLOYEE;
DISTINCT
๋ ์ค๋ณต ์ฒ๋ฆฌ ํจ์๋ก, ์ปฌ๋ผ์ ํฌํจ๋ ์ค๋ณต ๊ฐ์ ํ๋ฒ์ฉ๋ง ํ์
ํ๊ฒ ๋ค ๋ช
์ํ๋ ์ญํ ์ ํ๋ค.
-- employee ํ
์ด๋ธ์์ ๋จ์๋ง ์ฌ์๋ช
, ์ฃผ๋ฏผ๋ฒํธ๋ฅผ ๋ํ๋ด์ธ์.
-- ์ฃผ๋ฏผ๋ฒํธ์ ๋ท6์๋ฆฌ๋ *์ฒ๋ฆฌํ์ธ์.
SELECTEMP_NAME "์ฌ์๋ช
", RPAD(SUBSTR(EMP_NO,1,8), 14, '*') "์ฃผ๋ฏผ๋ฒํธ" FROM EMPLOYEE WHERE SUBSTR(EMP_NO, 8, 1) IN (1, 3);
LPAD
์ RPAD
๋ ์ฃผ์ด์ง ์ปฌ๋ผ ๋ฌธ์์ด์ ์์์ ๋ฌธ์์ด์ ์ผ์ชฝ(LPAD)/์ค๋ฅธ์ชฝ(RPAD)์ ๋ง๋ถ์ฌ
๊ธธ์ด N์ ๋ฌธ์์ด์ ๋ฐํ
ํ๋ ํจ์์ด๋ค.
LPAD(STRING, N, [STR])
์ ํ์์ผ๋ก ์์ฑํ๋ฉฐ, [STR]
์ ์๋ต ์, ๊ณต๋ฐฑ ๋ฌธ์
๋ก ์ฒ๋ฆฌํ๋ค.
SELECT LTRIM('123HELLO', '123') FROM DUAL; -- ์ผ์ชฝ๋ถํฐ ์ญ์
SELECT RTRIM(LTRIM('123HELLO123', '123'), '123') FROM DUAL; -- ์ผ์ชฝ > ์ค๋ฅธ์ชฝ
SELECT TRIM('Z' FROM 'ZZZZWORLDZZZ') FROM DUAL; -- TRIM์ ์์์ ์ง์ธ ์ ์์ง๋ง, ๋ฌธ์ ํ๋์ ๋ํด์๋ง ์ง์ธ ์ ์๋ค.
LTRIM
๊ณผ RTRIM
, TRIM
์ ์ฃผ์ด์ง ์ปฌ๋ผ์ด๋ ๋ฌธ์์ด์ ์ผ์ชฝ ํน์ ์ค๋ฅธ์ชฝ์์, ์ง์ ํ STR์ ํฌํจ๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ ๋๋จธ์ง๋ฅผ ๋ฐํ
ํ๋ค.
LTRIM(STRING, STR)
์ ํ์์ผ๋ก ์์ฑํ๋ค.
๐ก
- LRTIM :
์ผ์ชฝ
๋ถํฐ ์ญ์ - RTRIM :
์ค๋ฅธ์ชฝ
๋ถํฐ ์ญ์ - TRIM :
์์ชฝ
์ ๋ถ ์ญ์ . ๋จ,ํน์ ํ ๋ฌธ์ ํ๋
์ ๋ํด์๋ง ์ง์ธ ์ ์๋ค.
-- ์ญ์ผ๋ > ์ผ์ฑ๋
SELECT REPLACE ('์์ธ์ ๊ฐ๋จ๊ตฌ ์ญ์ผ๋', '์ญ์ผ๋', '์ผ์ฑ๋') FROM DUAL;
REPLACE
๋ ๋ฌธ์ ํ์
์ปฌ๋ผ ํน์ ๋ฌธ์์ด ์ค, ํน์ ๋ฌธ์(์ด)๋ฅผ ๋ค๋ฅธ ๋ฌธ์(์ด)๋ก ์นํ
ํ๋ ํจ์์ด๋ค.
REPLACE(STRING, STR1, STR2)
์ ํ์์ผ๋ก ์ฌ์ฉํ๋ฉฐ, STR1
์ ์ ์ ๋ฌธ์์ด์ STR2
์ ์ ์ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ ์ ์๋ค.