EEALL@ONCE
๐ CONCAT ๋ณธ๋ฌธ
CONCAT์ ๋ ๊ฐ ์ด์์ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ๋ ํจ์์ ๋๋ค. SQL์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ฌ๋ฌ DBMS์์ ์ง์๋ฉ๋๋ค.
SELECT CONCAT('Hello', ' ', 'World');
Result : Hello World
๋๋ถ๋ถ์ ๊ฒฝ์ฐ CONCAT ํจ์๋ ๋ฌธ์์ด์ ์ฐ๊ฒฐํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํฐ ๋ฐ์ดํฐ ์ธํธ์์ ๋ง์ ๋ฌธ์์ด์ ์ฐ๊ฒฐํด์ผํ๋ ๊ฒฝ์ฐ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ํนํ ๋ฌธ์์ด์ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ์ ๋๋ค. ์ด๋ฌํ ์ํฉ์์๋ ๋ค๋ฅธ ๋ฐฉ์์ ๊ณ ๋ คํ ํ์๊ฐ ์์ ์ ์์ต๋๋ค.
SIDE EFFECT:
- CONCAT์ NULL ๊ฐ์ ํฌํจํ๋ ๋ฌธ์์ด๊ณผ ์ฐ๊ฒฐํ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๋ฅผ NULL๋ก ๋ฐํํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด, CONCAT(NULL, 'test')๋ NULL์ ๋ฐํํฉ๋๋ค.
- ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์ด ๋ง์์ง์๋ก ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
์๋์ ๊ฐ์ด SUBSTRING์ ์ด์ฉํด์ ๋ฌธ์์ด์ ํ์ฑํ ์ ๋์๋ค.
CONCAT(SUBSTRING(origin, 2, 2), SUBSTRING(origin, 5)) AS pasing_result
SUBSTRING(origin, 2, 2)๋ origin ๋ฌธ์์ด์ 2๋ฒ์งธ ๋ฌธ์๋ถํฐ 2๊ฐ์ ๋ฌธ์๋ฅผ ์ถ์ถํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, origin์ด "ABCDEFG"์ผ ๋, ์ด ๋ถ๋ถ์ "BC"๋ฅผ ์ถ์ถํฉ๋๋ค.
SUBSTRING(origin, 5)๋ origin ๋ฌธ์์ด์ 5๋ฒ์งธ ๋ฌธ์๋ถํฐ ๋๊น์ง์ ๋ฌธ์๋ฅผ ์ถ์ถํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ, origin์ด "ABCDEFG"์ผ ๋, ์ด ๋ถ๋ถ์ "EFG"๋ฅผ ์ถ์ถํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ CONCAT(SUBSTRING(origin, 2, 2), SUBSTRING(origin, 5))๋ ์์ ์ถ์ถํ ๋ ๊ฐ์ ๋ฌธ์์ด์ ํฉ์ณ์ "BCEFG"๋ผ๋ ์๋ก์ด ๋ฌธ์์ด์ ์์ฑํฉ๋๋ค.
์ด๋ ๊ฒ pasing_result ์ปฌ๋ผ์๋ "BCEFG"๋ผ๋ ๊ฐ์ด ์ ์ฅ๋ฉ๋๋ค.
'Data๐ > DB ์ดํด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐DATE_ADD (0) | 2023.08.16 |
---|---|
๐SUBSTRING (0) | 2023.08.07 |
๐ case (0) | 2023.07.28 |
๐DISTINCT (0) | 2023.07.28 |
๐ DATE (0) | 2023.07.28 |