๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Oracle/sql

[๐Ÿ“š sql ๋ฌธ๋ฒ•์„ ๊ณต๋ถ€ํ•˜์ž ๐Ÿ“š] ROUND, TRUNC, CEIL, FLOOR

by ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์€ ๊ฐ์ž 2023. 4. 16.

๋ฌธ์ œ๋ฅผ ํ’€๋‹ค ๋ณด๋ฉด ์†Œ์ˆ˜์  ์ž๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋ฐ˜์˜ฌ๋ฆผ์„ ํ•˜๊ฑฐ๋‚˜ ๋‚ด๋ ค์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค!

๊ทธ๋Ÿด๋•Œ ์“ฐ๋Š” ํ•จ์ˆ˜๋“ค์€ ๋ญ์ง€??  ๊ทธ๋ž˜์„œ ์ฐพ์•„๋ณด์•˜๋‹ค! 

ROUND ํ•จ์ˆ˜ 

ROUND ํ•จ์ˆ˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ฑฐ๋‚˜ ๋‚ด๋ฆผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ROUND ํ•จ์ˆ˜์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ROUND(number, decimal_places)

number๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•  ์ˆซ์ž์ด๋ฉฐ, decimal_places๋Š” ๋ฐ˜์˜ฌ๋ฆผํ•  ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. decimal_places๊ฐ€ ์–‘์ˆ˜์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์ˆ˜ ์ดํ•˜๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ณ , ์Œ์ˆ˜์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์ˆ˜ ์ด์ „์„ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ SQL ๋ฌธ์€ "SAL" ์ปฌ๋Ÿผ์„ ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

SELECT ENAME, ROUND(SAL, 2) FROM EMP;

TRUNC ํ•จ์ˆ˜ 

TRUNC ํ•จ์ˆ˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. TRUNC ํ•จ์ˆ˜์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

TRUNC(number, decimal_places)

number๋Š” ๋‚ด๋ฆผํ•  ์ˆซ์ž์ด๋ฉฐ, decimal_places๋Š” ๋‚ด๋ฆผํ•  ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. decimal_places๊ฐ€ ์–‘์ˆ˜์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์ˆ˜ ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•˜๊ณ , ์Œ์ˆ˜์ด๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์ˆ˜ ์ด์ „์„ ๋‚ด๋ฆผํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ SQL ๋ฌธ์€ "SAL" ์ปฌ๋Ÿผ์„ ์†Œ์ˆ˜์  ๋‘˜์งธ ์ž๋ฆฌ์—์„œ ๋‚ด๋ฆผํ•˜์—ฌ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

SELECT ENAME, TRUNC(SAL, 2) FROM EMP;

CEIL ํ•จ์ˆ˜

CEIL ํ•จ์ˆ˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ์˜ฌ๋ฆผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. CEIL ํ•จ์ˆ˜์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

CEIL(number)

number๋Š” ์˜ฌ๋ฆผํ•  ์ˆซ์ž์ž…๋‹ˆ๋‹ค. ์†Œ์ˆ˜์  ์ดํ•˜๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ SQL ๋ฌธ์€ "SAL" ์ปฌ๋Ÿผ์„ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ์˜ฌ๋ฆผํ•˜์—ฌ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.

SELECT ENAME, CEIL(SAL) FROM EMP;

FLOOR ํ•จ์ˆ˜ 

FLOOR ํ•จ์ˆ˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. FLOOR ํ•จ์ˆ˜์˜ ๊ตฌ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

FLOOR(number)