๐Ÿ’พ Database/Oracle

[Oracle] split[0]์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ

์˜ฌใ„น1๋ธŒ 2018. 10. 11. 14:48
๋ฐ˜์‘ํ˜•

Oracle์—์„œ๋Š” Split ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. 

๋”ฐ๋ผ์„œ ๊ทธ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋ ค๋ฉด ํ”ํžˆ๋“ค ๋งํ•˜๋Š” ๊ผผ์ˆ˜๋ฅผ ์จ์•ผ ํ•จ.


SELECT DISTINCT SUBSTR('HELLO/ITS/ME', 1, INSTR('HELLO/ITS/ME', '/', 1, 1)) FROM DUAL 

==> RESULT : HELLO


*SUBSTR ํ•จ์ˆ˜

- ๋ฌธ์ž๋ฅผ ์ž๋ฅด๋Š” ํ•จ์ˆ˜

- SUBSTR(๋ฌธ์ž์—ด, ์‹œ์ž‘ํ•  ์œ„์น˜(์ˆซ์ž), ๋งˆ์น  ์œ„์น˜(์ˆซ์ž))


*INSTR ํ•จ์ˆ˜

- ์›ํ•˜๋Š” ๋ฌธ์ž์—ด ๋‚ด์— ์›ํ•˜๋Š” ๊ตฌ๋ฌธ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜

  ๋งŒ์•ฝ, ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ตฌ๋ฌธ์ด ๋ช‡ ๋ฒˆ์งธ์— ์œ„์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๋ฐ˜ํ™˜(๋ฌธ์ž์—ด ์‹œ์ž‘ ์œ„์น˜๋กœ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆœ์„œ ๋ฐ˜ํ™˜)


- INSTR(๋ฌธ์ž์—ด, ๋น„๊ตํ•˜๊ณ ์žํ•˜๋Š” ๋ฌธ์ž์—ด, ๋น„๊ต ์‹œ์ž‘ ์œ„์น˜(์ˆซ์ž), ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ์˜ ์ˆœ๋ฒˆ(์ˆซ์ž))


*๋‚ด๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ๋ฐฉ๋ฒ•์€?

SELECT DISTINCT SUBSTR(LOC, 1, INSTR(LOC, '/', 1, 1)) FROM TABLE GROUP BY LOC


๋ฐ˜์‘ํ˜•