[ํ์ต ๋ชฉํ]
1. ๋จ์ผ Replace ํจ์๋ฅผ ํตํ ๋ฌธ์/์ซ์ ๋ณ๊ฒฝ
2. ๋ค์ค Regexp_replace ํจ์๋ฅผ ํตํ ๋ฌธ์/์ซ์ ๋ณ๊ฒฝ
1. replace ์ฌ์ฉ ๊ท์น :
- ๋ฌธ์ ๋ณ๊ฒฝ ์ ๋์๋ฌธ์ ๊ตฌ๋ถ ํ์
- ๋จ์ผ ๋ฌธ์/์ซ์ ๋ณ๊ฒฝ : replace ์ฌ์ฉ
- ๋ค์ค ๋ฌธ์/์ซ์ ๋ณ๊ฒฝ : regexp_replace ์ฌ์ฉ
- select + replace ( ์นผ๋ผ, ' ๋ณ๊ฒฝํ๊ณ ์ ํ๋ ๊ฐ ', ' ๋ณ๊ฒฝ ๊ฐ ') as " ์นผ๋ผ๋ช
"
- ์นผ๋ผ๋ช : " ํฐ๋ฐ์ดํ "
- ๊ฐ๋ณ ๋ฌธ์/๊ฐ : '์์๋ฐ์ดํ'
2. ์ฌ์ฉ ์์
#๋จ์ผ ๋ฌธ์ ์ ๊ฑฐ/๋ณ๊ฒฝ ์ : replace
select ename, replace(ename, 'S') as "์ ๊ฑฐ" , replace (ename, 'S', '*') as "๋์ฒด"
from emp ;
#๋ค์ค ๋ฌธ์/์ซ์ ์ ๊ฑฐ/๋ณ๊ฒฝ ์ : regexp_replace
select regexp_replace (ename, 'S|M|I', '*') as "๋ค์ค๋ฌธ์ *๋ณํ"
from emp;
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Hackerrank ๋ฌธ์ ํ์ด : The blunder
๋ฐ์ดํฐ : ์ง์ ์ฐ๋ด ํ ์ด๋ธ
์ํฉ : ์ปดํจํฐ์ 0 ๋ฒํผ์ด ๊ณ ์ฅ ๋์, ํ๊ท ๊ฐ์ ์๋ชป ๊ณ์ฐํจ
๋ฌธ์ : ์ค์ ํ๊ท ๊ฐ - (0 ์์ด ์ ๋ ฅ๋) ํ๋ฆฐ ํ๊ท ๊ฐ์ ์ฐพ์๋ผ + round it up to the next integer.
SELECT CEIL ( AVG(salary) - AVG (REPLACE (salary, 0 , ' ' ) ) )
FROM employees
* CEIL ํจ์๋ 2356.6 =2357 & 2356.4 =2357 ์์์ ๊ณผ ์๊ด์์ด +1์ ๋ํด์ค๋ค.
* ROUND ํจ์๋ 2356.6 =2357 / 2356.4 = 2356 ์์์ ์ ๋ณด๊ณ +1 ํ ์ง ๋ง์ง๋ฅผ ์ ํ๋ค.
* FLOOR ํจ์๋ 2356.6 =2356 & 2356.4 =2356 ์์์ ๊ณผ ์๊ด์์ด ์ ์์์ ์๋ฅธ๋ค.
*REPLACE ํจ์ = salary์, ์ซ์ 0์, ๋ชจ๋ ' ' ๋น์นธ์ผ๋ก ๋ฐ๊ฟ๋ผ
'DB - SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQL ์ ๋ฌธ] 8. ๋ณํํจ์ + TO_CHAR (0) | 2024.01.26 |
---|---|
[SQL ์ ๋ฌธ] 7. SELECT + ๋ ์งํจ์ ์กฐ์ (0) | 2024.01.25 |
[SQL ์ ๋ฌธ] 5. ORDER BY ํ์ฉ (0) | 2024.01.23 |
[SQL ์ ๋ฌธ] 4. SELECT_๋ฌธ์/์ซ์ ๋ณํ,WHERE์ (0) | 2024.01.16 |
[SQL ์ ๋ฌธ] 3. SELECT_๋ณ์นญ,์ฐ์ฐ,์ค๋ณต๊ฐ ์ ๊ฑฐ (0) | 2024.01.16 |