๋ฐ˜์‘ํ˜•

๐Ÿ’พ Database/Oracle 3

[Oracle] DECODE ํ•จ์ˆ˜

https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions040.htm#i1017437 ์ž์ฒด ๋ฒˆ์—ญ (์ด์ƒํ•  ์ˆ˜ ์žˆ์Œ) 1. ๋ฌธ๋ฒ• DECODE ( expr , { search , result , } default ) 2. ๋ชฉ์ DECODE๋Š” expr๊ณผ ๊ฐ search ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•œ๋‹ค. ๋งŒ์•ฝ expr๊ณผ search์˜ ๊ฐ’์ด ๊ฐ™์œผ๋ฉด, Oracle ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” result๊ฐ’์„ returnํ•œ๋‹ค.๋งŒ์•ฝ ๋งค์น˜๋˜๋Š” search๊ฐ’์ด ์—†๋‹ค๋ฉด, Oracle๋Š” default๊ฐ’์„ returnํ•œ๋‹ค.๋งŒ์•ฝ default๊ฐ’์ด ์ƒ๋žต๋˜์–ด ์žˆ๋‹ค๋ฉด, Oracle๋Š” null๊ฐ’์„ returnํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์œผ๋กœ๋Š” ๋ชจ๋“  ์ˆซ์ž ํƒ€์ž… (NUMBER, BINARY_FLOAT, ..

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

Oracle์—์„œ๋Š” Split ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋ ค๋ฉด ํ”ํžˆ๋“ค ๋งํ•˜๋Š” ๊ผผ์ˆ˜๋ฅผ ์จ์•ผ ํ•จ.SELECT DISTINCT SUBSTR('HELLO/ITS/ME', 1, INSTR('HELLO/ITS/ME', '/', 1, 1)) FROM DUAL ==> RESULT : HELLO*SUBSTR ํ•จ์ˆ˜- ๋ฌธ์ž๋ฅผ ์ž๋ฅด๋Š” ํ•จ์ˆ˜- SUBSTR(๋ฌธ์ž์—ด, ์‹œ์ž‘ํ•  ์œ„์น˜(์ˆซ์ž), ๋งˆ์น  ์œ„์น˜(์ˆซ์ž))*INSTR ํ•จ์ˆ˜- ์›ํ•˜๋Š” ๋ฌธ์ž์—ด ๋‚ด์— ์›ํ•˜๋Š” ๊ตฌ๋ฌธ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜  ๋งŒ์•ฝ, ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ตฌ๋ฌธ์ด ๋ช‡ ๋ฒˆ์งธ์— ์œ„์น˜๋˜์–ด ์žˆ๋Š”์ง€ ๋ฐ˜ํ™˜(๋ฌธ์ž์—ด ์‹œ์ž‘ ์œ„์น˜๋กœ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ˆœ์„œ ๋ฐ˜ํ™˜)- INSTR(๋ฌธ์ž์—ด, ๋น„๊ตํ•˜๊ณ ์žํ•˜๋Š” ๋ฌธ์ž์—ด, ๋น„๊ต ์‹œ์ž‘ ์œ„์น˜(์ˆซ์ž), ๊ฒ€์ƒ‰๋œ ๊ฒฐ๊ณผ์˜ ์ˆœ๋ฒˆ(์ˆซ์ž))..

[Oracle] ํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ ์ •๋ณด ์กฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•

SELECT    TABLE_NAME,         --ํ…Œ์ด๋ธ”๋ช…    COLUMN_NAME,     --์ปฌ๋Ÿผ๋ช…    DATA_TYPE,            --๋ฐ์ดํ„ฐ ์ž๋ฃŒํ˜•    DATA_LENGTH,     DATA_PRECISION,    DATA_SCALE,    NULLABLE,             --NOT NULL์ด๋ฉด Y, ์•„๋‹ˆ๋ฉด N    COLUMN_ID,          --์ปฌ๋Ÿผ ๊ณ ์œ ID    DATA_DEFAULT,     CHAR_LENGTHFROM    USER_TAB_COLUMNSWHERE    TABLE_NAME = 'ํ…Œ์ด๋ธ”๋ช…'ORDER BY COLUMN_ID

๋ฐ˜์‘ํ˜•