SQL中的单记录函数
2 1 . ASCII
3 返回与指定的字符对应的十进制数;
4 SQL > select ascii ( ' A ' ) A, ascii ( ' a ' ) a, ascii ( ' 0 ' ) zero, ascii ( ' ' ) space from dual;
5
6 A A ZERO SPACE
7 -- ------- --------- --------- ---------
8 65 97 48 32
9
10
11 2 .CHR
12 给出整数,返回对应的字符;
13 SQL > select chr( 54740 ) zhao,chr( 65 ) chr65 from dual;
14
15 ZH C
16 -- -
17 赵 A
18
19 3 .CONCAT
20 连接两个字符串;
21 SQL > select concat( ' 010- ' , ' 88888888 ' ) || ' 转23 ' 高乾竞电话 from dual;
22
23 高乾竞电话
24 -- --------------
25 010 - 88888888转23
26
27 4 .INITCAP
28 返回字符串并将字符串的第一个字母变为大写;
29 SQL > select initcap( ' smith ' ) upp from dual;
30
31 UPP
32 -- ---
33 Smith
34
35
36 5 .INSTR(C1,C2,I,J)
37 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
38 C1 被搜索的字符串
39 C2 希望搜索的字符串
40 I 搜索的开始位置,默认为1
41 J 出现的位置,默认为1
42 SQL > select instr( ' oracle traning ' , ' ra ' , 1 , 2 ) instring from dual;
43
44 INSTRING
45 -- -------
46 9
47
48
49 6 .LENGTH
50 返回字符串的长度;
51 SQL > select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst;
52
53 NAME LENGTH(NAME) ADDR LENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))
54 -- ---- ------------ ---------------- ------------ --------- --------------------
55 高乾竞 3 北京市海锭区 6 9999.99 7
56
57
58
59 7 . LOWER
60 返回字符串,并将所有的字符小写
61 SQL > select lower ( ' AaBbCcDd ' )AaBbCcDd from dual;
62
63 AABBCCDD
64 -- ------
65 aabbccdd
66
67
68 8 . UPPER
69 返回字符串,并将所有的字符大写
70 SQL > select upper ( ' AaBbCcDd ' ) upper from dual;
71
72 UPPER
73 -- ------
74 AABBCCDD
75
76
77
78 9 .RPAD和LPAD(粘贴字符)
79 RPAD 在列的右边粘贴字符
80 LPAD 在列的左边粘贴字符
81 SQL > select lpad(rpad( ' gao ' , 10 , ' * ' ), 17 , ' * ' ) from dual;
82
83 LPAD(RPAD( ' GAO ' , 1
84 -- ---------------
85 ******* gao *******
86 不够字符则用 * 来填满
87
88
89 10 .LTRIM和RTRIM
90 LTRIM 删除左边出现的字符串
91 RTRIM 删除右边出现的字符串
92 SQL > select ltrim ( rtrim ( ' gao qian jing ' , ' ' ), ' ' ) from dual;
93
94 LTRIM ( RTRIM ( '
95 -------------
96 gao qian jing
97
98
99 11.SUBSTR(string,start,count)
100 取子字符串,从start开始,取count个
101 SQL> select substr( ' 13088888888 ' ,3,8) from dual;
102
103 SUBSTR( '
104 -- ------
105 08888888
106
107
108 12 . REPLACE ( ' string ' , ' s1 ' , ' s2 ' )
109 string 希望被替换的字符或变量
110 s1 被替换的字符串
111 s2 要替换的字符串
112 SQL > select replace ( ' he love you ' , ' he ' , ' i ' ) from dual;
113
114 REPLACE ( ' H
115 ----------
116 i love you
117
118
119 13.SOUNDEX
120 返回一个与给定的字符串读音相同的字符串
121 SQL> create table table1(xm varchar(8));
122 SQL> insert into table1 values( ' weather ' );
123 SQL> insert into table1 values( ' wether ' );
124 SQL> insert into table1 values( ' gao ' );
125
126 SQL> select xm from table1 where soundex(xm)=soundex( ' weather ' );
127
128 XM
129 --------
130 weather
131 wether
132
133
134 14.TRIM( ' s ' from ' string ' )
135 LEADING 剪掉前面的字符
136 TRAILING 剪掉后面的字符
137 如果不指定,默认为空格符
138
139 15.ABS
140 返回指定值的绝对值
141 SQL> select abs(100),abs(-100) from dual;
142
143 ABS(100) ABS(-100)
144 --------- ---------
145 100 100
146
147
148 16.ACOS
149 给出反余弦的值
150 SQL> select acos(-1) from dual;
151
152 ACOS(-1)
153 ---------
154 3.1415927
155
156
157 17.ASIN
158 给出反正弦的值
159 SQL> select asin(0.5) from dual;
160
161 ASIN(0.5)
162 ---------
163 .52359878
164
165
166 18.ATAN
167 返回一个数字的反正切值
168 SQL> select atan(1) from dual;
169
170 ATAN(1)
171 ---------
172 .78539816
173
174
175 19.CEIL
176 返回大于或等于给出数字的最小整数
177 SQL> select ceil(3.1415927) from dual;
178
179 CEIL(3.1415927)
180 ---------------
181 4
182
183
184 20.COS
185 返回一个给定数字的余弦
186 SQL> select cos(-3.1415927) from dual;
187
188 COS(-3.1415927)
189 ---------------
190 -1
191
192
193 21.COSH
194 返回一个数字反余弦值
195 SQL> select cosh(20) from dual;
196
197 COSH(20)
198 ---------
199 242582598
200
201
202 22.EXP
203 返回一个数字e的n次方根
204 SQL> select exp(2),exp(1) from dual;
205
206 EXP(2) EXP(1)
207 --------- ---------
208 7.3890561 2.7182818
209
210
211 23.FLOOR
212 对给定的数字取整数
213 SQL> select floor(2345.67) from dual;
214
215 FLOOR(2345.67)
216 --------------
217 2345
218
219
220 24.LN
221 返回一个数字的对数值
222 SQL> select ln(1),ln(2),ln(2.7182818) from dual;
223
224 LN(1) LN(2) LN(2.7182818)
225 --------- --------- -------------
226 0 .69314718 .99999999
227
228
229 25.LOG(n1,n2)
230 返回一个以n1为底n2的对数
231 SQL> select log(2,1),log(2,4) from dual;
232
233 LOG(2,1) LOG(2,4)
234 --------- ---------
235 0 2
236
237
238 26.MOD(n1,n2)
239 返回一个n1除以n2的余数
240 SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;
241
242 MOD(10,3) MOD(3,3) MOD(2,3)
243 --------- --------- ---------