๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (DB) ๐Ÿ“ฆ/๐Ÿ…พ ์˜ค๋ผํด DB & SQL

Standard function (๊ธฐ๋ณธ ํ•จ์ˆ˜)

by Meteora_ 2021. 2. 8.
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
-- Standard Function
 
-- DUAL TABLE : ๊ฐ€์ƒํ…Œ์ด๋ธ” -> ๊ฒฐ๊ณผ ํ™•์ธ์šฉ ํ…Œ์ด๋ธ”
SELECT 1 FROM DUAL;
SELECT 'A' FROM DUAL;
SELECT '๊ฐ€' FROM DUAL;
SELECT 23 * 34 FROM DUAL;
 
-- ๋ฌธ์ž ํ•จ์ˆ˜
-- CHR( N ) : ASCII ๊ฐ’์„ ๋ฌธ์ž๋กœ ๋ณ€ํ™˜
SELECT CHR(65FROM DUAL;
SELECT CHR(97FROM DUAL;
 
-- String str = "์•ˆ๋…•ํ•˜์„ธ์š” " + "๊ฑด๊ฐ•ํ•˜์„ธ์š”"
-- String str = "์•ˆ๋…•ํ•˜์„ธ์š” " || "๊ฑด๊ฐ•ํ•˜์„ธ์š”"
SELECT '๋‚ด ์ ์ˆ˜๋Š” ' || CHR(65|| ' ์ž…๋‹ˆ๋‹ค' FROM DUAL;
 
-- CONCAT
 
-- LPAD(RPAD) : ๋‚˜๋จธ์ง€๋ฅผ ๋นˆ์นธ(์ง€์ •๋ฌธ์ž)์œผ๋กœ ์ฑ„์šด๋‹ค
SELECT LPAD('BBB'10FROM DUAL;
SELECT RPAD('BBB'10FROM DUAL;
SELECT LPAD('BBB'10'-'FROM DUAL;
SELECT LPAD('123'10'0'FROM DUAL;
 
-- INSTR == indexOf('a') -> "abcde" -> 0
SELECT INSTR('123ABC456DEF''A'FROM DUAL;
SELECT INSTR('123ABC456DEFABC''A'7FROM DUAL;
SELECT INSTR('123ABC456DEFABCABC''A'71FROM DUAL;
SELECT INSTR('123ABC456DEFABCABC''A'72FROM DUAL;
SELECT INSTR('123ABC456DEF''y'FROM DUAL;
 
--REPLACE : ๋ฌธ์ž์—ด ์น˜ํ™˜
SELECT REPLACE('AAAAACD''A'FROM DUAL;
SELECT REPLACE('AAAAACD''A''a'FROM DUAL;
SELECT REPLACE('AAAAACD''AA''a'FROM DUAL; 
 
-- TRANSLATE : ๋ฌธ์ž ์น˜ํ™˜
SELECT TRANSLATE('AAAAABCD''A''a'FROM DUAL;
SELECT TRANSLATE('AAAAABCD''AA''a'FROM DUAL;
 
-- SUBSTR : ์ž๋ฐ”(substring(1,3) "ABCDE" -> "BC" 
SELECT SUBSTR('ABCDE'3FROM DUAL;  -- 3๋ฒˆ์ง€๋ถ€ํ„ฐ ์ถœ๋ ฅํ•ด๋ผ(0๋ถ€ํ„ฐ ์„ธ๋Š” ์ž๋ฐ”์™€ ๋‹ฌ๋ฆฌ 1๋ถ€ํ„ฐ ์…ˆ) -> CDE
SELECT SUBSTR('ABCDE'32FROM DUAL; -- 3๋ฒˆ์ง€๋ถ€ํ„ฐ 2๋ฌธ์ž -> CD
 
-- ์ˆซ์ž
-- ์˜ฌ๋ฆผ
SELECT CEIL(13.1FROM DUAL; --๋’ค์— ์ˆซ์ž๊ฐ€ ์žˆ์œผ๋ฉด ๋ฌด์กฐ๊ฑด ์˜ฌ๋ฆผ -> 14
 
-- ๋‚ด๋ฆผ
SELECT FLOOR(13.9FROM DUAL; -- ๋‚ด๋ฆผ์ฐจ์ˆœ -> 13
 
-- ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€
SELECT MOD(3,2FROM DUAL; -- == %
 
-- ์ œ๊ณฑ (์ž๋ฐ” == Math.pow
SELECT POWER(3,2FROM DUAL;
 
-- ๋ฐ˜์˜ฌ๋ฆผ
SELECT ROUND(13.6FROM DUAL;
 
-- ๋ถ€ํ˜ธ +=1 0=0 -= -1
-- SIGN 
SELECT SIGN(13.4FROM DUAL;
SELECT SIGN(0FROM DUAL;
SELECT SIGN(-13.4FROM DUAL;
 
-- ๋ฒ„๋ฆผ(์†Œ์ˆ˜์  ๊ฐ’์„ ๋‚ ๋ฆผ)
SELECT TRUNC(123.456FROM DUAL; 
SELECT TRUNC(123.456,2FROM DUAL; -- ๋ช‡์ž๋ฆฌ๊นŒ์ง€ ๋‚ ๋ฆฌ๋ƒ?
SELECT TRUNC(123.456,-1FROM DUAL; -- 1์˜ ์ž๋ฆฌ๋ฅผ ๋‚ ๋ฆผ -> 120
 
-- ๋ฌธ์ž๋ฅผ ๋„ฃ์œผ๋ฉด ASCII์ฝ”๋“œ ๊ฐ’์ด ๋‚˜์˜ค๋Š” ํ•จ์ˆ˜
SELECT ASCII('A'FROM DUAL;
 
--๋ณ€ํ™˜ํ•จ์ˆ˜ TO_CHAR ์ค‘์š”โ˜…
--๋‚ ์งœํ˜•(DATE)๋ฅผ ๋ฌธ์ž์—ด(VARCHAR2)๋กœ ๋ฐ”๊ฟ€๋•Œ ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉํ•จ
SELECT SYSDATE FROM DUAL; -- ๋ฌธ์ž์—ด์ฒ˜๋Ÿผ ๋ณด์ผ๋ฟ DATE ํƒ€์ž…
SELECT TO_CHAR(SYSDATE) FROM DUAL;
 
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD-HH-MI-SS'FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD HH:MI:SS'FROM DUAL;
 
 
SELECT TO_CHAR(10000000'$999,999,999'FROM DUAL; --์ˆซ์ž๋ฅผ ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ€๋•Œ
 
-- TO_DATE
-- VARCHAR2 -> DATE
-- 20210208
 
SELECT TO_DATE('20210208'FROM DUAL; -- ๋‚ ์งœํ˜•์œผ๋กœ ๋ฐ”๋€œ
 
SELECT TO_DATE('20210208''YYYYMMDD'FROM DUAL; 
 
--TO_NUMBER VARCHAR2 -> NUMBER  (==์ž๋ฐ”์˜ parseInT())
SELECT TO_NUMBER('123')+45 FROM DUAL;
 
--LAST_DAY (๋ง‰๋‚  ๊ตฌํ•˜๊ธฐ)
SELECT LAST_DAY('21/02/08'FROM DUAL;
 
SELECT LAST_DAY('21-02-01'FROM DUAL;
 
SELECT LAST_DAY('210201''YYMMDD'FROM DUAL; -- ์ •์„
 
cs

๋Œ“๊ธ€