ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Programming/Database

ORACLE ์ค„๋ฐ”๊ฟˆ

๋‹ค๋ฃจ์‚ฌ๋ฌด 2020. 2. 26. 18:00
๋ฐ˜์‘ํ˜•

๐Ÿงพ Oracle โ€“ ๊ฐœํ–‰(์ค„๋ฐ”๊ฟˆ) ๋ฌธ์ž ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ

Oracle์—์„œ ๋ฌธ์ž์—ด ๋‚ด ์ค„๋ฐ”๊ฟˆ(๊ฐœํ–‰) ์„ ํ‘œํ˜„ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ๋•Œ๋Š”
CHR() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.


โœ๏ธ ๊ฐœํ–‰ ๋ฌธ์ž ์ถ”๊ฐ€

UPDATE ํ…Œ์ด๋ธ”๋ช…
SET ์ปฌ๋Ÿผ๋ช… = '์•ˆ๋…•' || CHR(13) || CHR(10) || 'ํ•˜์„ธ์š”'
WHERE ์กฐ๊ฑด;

โ–ถ ๊ฒฐ๊ณผ

์•ˆ๋…•
ํ•˜์„ธ์š”

๐Ÿง  CHR() ํ•จ์ˆ˜ ์„ค๋ช…

์ฝ”๋“œ ์˜๋ฏธ ์„ค๋ช…
CHR(13) Carriage Return (CR) ํ˜„์žฌ ์ค„์˜ ์ฒซ ๋ฒˆ์งธ ์œ„์น˜๋กœ ์ปค์„œ๋ฅผ ์ด๋™
CHR(10) Line Feed (LF) ์ปค์„œ๋ฅผ ๋‹ค์Œ ์ค„๋กœ ์ด๋™
`CHR(13) CHR(10)`

๐Ÿ’ก Windows ํ™˜๊ฒฝ์—์„œ๋Š” CHR(13)||CHR(10) ์กฐํ•ฉ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ ,
Unix/Linux ํ™˜๊ฒฝ์—์„œ๋Š” CHR(10) ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


๐Ÿงน ๊ฐœํ–‰ ๋ฌธ์ž ์ œ๊ฑฐ

์ค„๋ฐ”๊ฟˆ์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์ค„๋กœ ํ•ฉ์น˜๊ธฐ ์œ„ํ•ด์„œ๋Š”
REPLACE() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ CR/LF ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

-- ๋ฐฉ๋ฒ• 1: CR+LF ์กฐํ•ฉ ์ œ๊ฑฐ
REPLACE(์ปฌ๋Ÿผ๋ช…, CHR(13) || CHR(10), '')

-- ๋ฐฉ๋ฒ• 2: ๊ฐœ๋ณ„ ์ œ๊ฑฐ (LF โ†’ CR ์ˆœ์„œ๋กœ)
REPLACE(REPLACE(์ปฌ๋Ÿผ๋ช…, CHR(10), ''), CHR(13), '')

๐Ÿงฉ ์˜ˆ์‹œ

SELECT
  REPLACE(REPLACE('์•ˆ๋…•'||CHR(13)||CHR(10)||'ํ•˜์„ธ์š”', CHR(10), ''), CHR(13), '') AS no_line
FROM DUAL;

๊ฒฐ๊ณผ

์•ˆ๋…•ํ•˜์„ธ์š”

๐Ÿ“˜ ์š”์•ฝ

์ž‘์—… ํ•จ์ˆ˜/๊ตฌ๋ฌธ ์„ค๋ช…
์ค„๋ฐ”๊ฟˆ ์ถ”๊ฐ€ `CHR(13)
์ค„๋ฐ”๊ฟˆ ์ œ๊ฑฐ REPLACE() CR, LF ์ œ๊ฑฐ
CHR(13) Carriage Return \r
CHR(10) Line Feed \n
๋Œ“๊ธ€