ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/DataBase

[SQL] ์˜ค๋ผํด ๋‚ด์žฅ ํ•จ์ˆ˜ - ์ˆซ์ž ํ•จ์ˆ˜ ( ๋‹จ์ผํ–‰ ํ•จ์ˆ˜ )

NaNaRin๐Ÿ™ƒ 2021. 3. 1. 12:52

1. ์ˆซ์ž ํ•จ์ˆ˜๋ž€

- ์ˆซ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐํ•˜๊ณ  ์ˆ˜์น˜๋ฅผ ์กฐ์ •ํ•˜๋Š” ํ•จ์ˆ˜

 

2. ํŠน์ • ์œ„์น˜์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•˜๋Š” ROUND ํ•จ์ˆ˜

- ROUND(์ˆซ์ž, ๋ฐ˜์˜ฌ๋ฆผ ์œ„์น˜) : ํŠน์ • ์ˆซ์ž๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜

- ๋ฐ˜์˜ฌ๋ฆผ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์†Œ์ˆ˜์  ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

ROUND([์ˆซ์ž], [๋ฐ˜์˜ฌ๋ฆผ ์œ„์น˜(์„ ํƒ, Default 0)])

-- 1. 2. 3. 4. 5. 6.
SELECT	ROUND(1234.5678),
		ROUND(1234.5678, 0),
        ROUND(1234.5678, 1),
        ROUND(1234.5678, 2),
        ROUND(1234.5678, -1),
        ROUND(1234.5678, -2)
FROM	DUAL

  (1) ROUND(1234.5678) : 1235 ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ
  (2) ROUND(1234.5678, 0) : 1235 ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ
  (3) ROUND(1234.5678, 1) : 1234.6 ์†Œ์ˆ˜์  ๋‘˜์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ
  (4) ROUND(1234.5678, 2) : 1234.57 ์†Œ์ˆ˜์  ์…‹์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ
  (5) ROUND(1234.5678, -1) : 1230 ์ž์—ฐ์ˆ˜ ์ฒซ์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ
  (6) ROUND(1234.5678, -2) : 1200 ์ž์—ฐ์ˆ˜ ๋‘˜์งธ์ž๋ฆฌ ๋ฐ˜์˜ฌ๋ฆผ

 

3. ํŠน์ • ์œ„์น˜์—์„œ ๋ฒ„๋ฆฌ๋Š” TRUNC ํ•จ์ˆ˜

- TRUNC(์ˆซ์ž, ๋ฒ„๋ฆผ ์œ„์น˜) : ํŠน์ • ์ˆซ์ž๋ฅผ ๋ฒ„๋ฆผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜

- ๋ฒ„๋ฆผ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์†Œ์ˆ˜์  ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ์—์„œ ๋ฐ˜์˜ฌ๋ฆผํ•œ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜

TRUNC([์ˆซ์ž], [๋ฒ„๋ฆผ ์œ„์น˜(์„ ํƒ, Default 0)])

-- 1. 2. 3. 4. 5. 6.
SELECT	TRUNC(1234.5678),
		TRUNC(1234.5678, 0),
        TRUNC(1234.5678, 1),
        TRUNC(1234.5678, 2),
        TRUNC(1234.5678, -1),
        TRUNC(1234.5678, -2)
FROM	DUAL

  (1) TRUNC(1234.5678) : 1234 ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ
  (2) TRUNC(1234.5678, 0) : 1234 ์†Œ์ˆ˜์  ์ฒซ์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ
  (3) TRUNC(1234.5678, 1) : 1234.5 ์†Œ์ˆ˜์  ๋‘˜์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ
  (4) TRUNC(1234.5678, 2) : 1234.56 ์†Œ์ˆ˜์  ์…‹์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ
  (5) TRUNC(1234.5678, -1) : 1230 ์ž์—ฐ์ˆ˜ ์ฒซ์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ
  (6) TRUNC(1234.5678, -2) : 1200 ์ž์—ฐ์ˆ˜ ๋‘˜์งธ์ž๋ฆฌ ๋ฒ„๋ฆผ

 

4. ์ง€์ •ํ•œ ์ˆซ์ž์™€ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋ฅผ ์ฐพ๋Š” ํ•จ์ˆ˜

- CEIL(์ˆซ์ž) : ์ž…๋ ฅ๋œ ์ˆซ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ํฐ ์ •์ˆ˜ ๋ฐ˜ํ™˜

- FLOOR(์ˆซ์ž) : ์ž…๋ ฅ๋œ ์ˆซ์ž์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ž‘์€ ์ •์ˆ˜ ๋ฐ˜ํ™˜

CEIL([์ˆซ์ž])
FLOOR([์ˆซ์ž])

-- 1. 2. 3. 4.
SELECT	CEIL(3.14),
		FLOOR(3.14),
        CEIL(-3.14),
		FLOOR(-3.14),
FROM	DUAL;

  (1) CEIL(3.14) : 4
  (2) FLOOR(3.14) : 3
  (3) CEIL(-3.14) : -3
  (4) FLOOR(-3.14) : -4

 

5. ์ˆซ์ž๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์„ ๊ตฌํ•˜๋Š” MOD ํ•จ์ˆ˜

- MOD(๋‚˜๋ˆ ์งˆ ์ˆซ์ž, ๋‚˜๋ˆŒ ์ˆซ์ž) : ํŠน์ • ์ˆซ์ž๋ฅผ ํŠน์ • ์ˆซ์ž๋กœ ๋‚˜๋ˆ„๊ณ  ๊ทธ ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜

MOD([๋‚˜๋ˆ ์งˆ ์ˆซ์ž], [๋‚˜๋ˆŒ ์ˆซ์ž])

-- 1. 2. 3.
SELECT 	MOD(15, 6),
		MOD(10, 2),
        MOD(11, 2)
FROM	DUAL;

  (1) MOD(15, 6) : 3
  (2) MOD(10, 2) : 0
  (3) MOD(11, 2) : 1