1,CHR
输入整数,返回对应字符。
用法:select chr(65),chr(78) from dual;
2,ASCII
输入字符,返回对应ASCII码。
用法:select ascii('A'),ascii('B') from dual;
3,CONCAT
输入两个字符串,返回拼接的字符串。
用法:select concat('tpc','1989') from dual;
4,INITCAP
将输入的字符串首字母变大写。
用法:select initcap('tpc') from dual;
5,INSTR
instr(s1,s2,inx,loc),从s1中的inx位置开始查早第loc次出现s2的位置,没有则返回0.
用法:select instr('tpc is good','o',1,2) from dual;
6,LENGTH
返回输入字符串的长度.
用法:select length('tpc') from dual;
7,LOWER
将字符串所有字符变为小写
用法:select lower('TPC') from dual;
8,UPPER
将字符串所有字符变为大写.
用法:select upper('tpc') from dual;
9,RPAD和LPAD
rpad(string,padded_length,[pad_string])和lpad(string,padded_length,[pad_string])
从右边(左边)对字符串使用指定的字符进行填充.
- string:被填充的字符串
- padded_length:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;
- pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,rpad将会在string的右边粘贴空格。
用法:select rpad('tpc',8,'*') from dual;
10,RTRM和LTRM
rtrim(string,charlist)和ltrim(string,charlist)
从字符串右侧(左侧)删除空格或其他预定义字符
- string:必需参数,代表需要被转换的字符串
- charlist:可选参数,指定要从
string
右侧(左侧)删除的字符或字符集。如果省略此参数,则默认删除空格
用法:select rtrim('tpc***', '*') from dual;
11,SUBSTR
substr(string, pos, len)
从字符串string的pos位置开始截取len长度的字符串
- string:必需参数,代表需要被操作的字符串
- pos:必需参数,代表截取的位置
- len:可选参数,代表需要截取的长度。不输入该参数的代表从pos位置一直截取到末尾
用法:select substr('tpc is a man',1,3) from dual;
12,RPLACE
replace(string, str1, str2)
将字符串string中的str1字符串替换成str2字符串
- string:必需参数,代表需要被操作的字符串
- pos:必需参数,代表要被替换的字符串
- len:必需参数,代表要去替换的字符串
用法:select replace('tpc is a woman', 'woman', 'man') from dual;
13,SOUNDEX
返回一个与给定字符串读音相同的字符串
用法:
select col1from (select 'too' as col1from dualunion allselect 'two' as col1from dualunion allselect 'one' as col1from dual) awhere soundex(a.col1) = soundex('too')
14,ABS
返回指定值的绝对值.
用法:select abs(30),abs(-30) from dual;
15,ACOS
返回反余弦的值.
用法:select acos(-1) from dual;
16,ASIN
返回反正弦的值.
用法:select asin(1) from dual;
17,ATAN
返回反正切的值.
用法:select atan(1) from dual;
18,CEIL
返回大于或者等于给点数字的最小整数.
用法:select ceil(3.1415) from dual;
19,COS
返回余弦的值.
用法:select cos(1) from dual;
20,COSH
返回双曲余弦值.
用法:select cosh(10) from dual;
21,EXP
返回数e的n次方根.
用法:select exp(1),exp(3) from dual;
22,FLOOR
对给定数字取整数
用法:select floor(3.14156) from dual;
23,LN
返回给定数字的对数值.
用法:select ln(7) from dual;
24,LOG
log(n1, n2)
返回一个以n1为底n2的对数.
用法:select log(2, 4) from dual;
25,MOD
mod(n1, n2)
返回n1除以n2的余数.
用法:select mod(3,2) from dual;
26,POWER
power(n1, n2)
返回n1的n2次方根值
用法:select power(2,10) from dual;
27,ROUND
round(num, right)
对给定数值进行舍入,舍入符合四舍五入规则
- num:必须参数,代表输入的数字
- right:可选参数,代表需要保留的小数点位数,不输入代表不保留小数位
用法:select round(3.1415),round(3.67),round(3.1415, 2) from dual;
28,TRUNC
trunc(num, right)
对给定数值进行舍入,不进行四舍五入
- num:必须参数,代表输入的数字
- right:可选参数,代表需要保留的小数点位数,不输入代表不保留小数位
用法:select trunc(3.1415),trunc(3.67),trunc(3.1415, 2) from dual;
29,SIGN
获取输入数字的符号。输入数字大于0返回1,小于0返回-1,等于0返回0
用法:select sign(1),sign(-1),sign(0) from dual;
30,SIN
返回正弦值.
用法:select sin(0.234) from dual;
31,SINH
返回双曲正弦值.
用法:select sinh(10) from dual;
32,SQRT
返回输入数字的根.
用法:select sqrt(100) from dual;
33,TAN
返回正切值.
用法:select tan(30) from dual;
34,TANH
返回双曲正弦值.
用法:select tanh(30) from dual;
35,ADD_MONTHS
add_months(date1, num1)
对输入日期增加或减去月份.
- date1:必须参数,代表输入的日期
- num1:必须参数,代表需要增加或减去的月份(负数代表减去)
用法:select add_months(sysdate, -2) from dual;
36,LAST_DAY
获取给定日期月份的最后一天.
用法:select last_day(sysdate) from dual;
37,MONTHS_BETWEEN
months_between(date1, date2)
获取date1与date2相差的月份数量.
用法:select months_between(sysdate, sysdate-54) from dual;
38,NEW_TIME
new_time(date1, ZONE1, ZONE2)
获取date1时间在ZONE1时区下对应ZONE2时区的时间.
用法:select new_time(sysdate, 'CST', 'GMT') from dual;
39,NEXT_DAY
next_day(date1, weekday)
获取date1对应时间的下一个星期对应weekday的日期
- date1:必需参数,代表输入的要计算的日期
- weekday:必需参数,代表具体的星期几(1代表星期天,2代表星期一,。。。7代表星期六)
用法:select next_day(sysdate, 1) from dual;
40,ROWIDTOCHAR
将rowid类型转换为字符串类型.
用法:select rowid,rowidtochar(rowid) from t_code;
41,CONVERT
convert(string, encode1, encode2)
将字符串string从字符集encode2转换为encode1.
- string:必需参数,代表需要转换的字符串
- encode1:必需参数,代表需要被转换为的字符集
- encode2:可选参数,代表需要被转换的的字符集
用法:select convert('李白','UTF8','ZHS16GBK') from dual;
42,HEXTORAW
将一个十六进制的构成的字符串转换为RAW类型.
用法:select hextoraw(ltrim(to_char(13143124314,'XXXXXXXXX'))) from dual;
43,RAWTOHEX
将一个raw类型数据转换得到16进制数据.
用法:select rawtohex('tpc') from dual;
44,TO_CHAR
to_char(input, format)
返回经过format格式化的input数据.
用法:select to_char(1234.34,'9,9,9,9.$99'),to_char(sysdate,'yyyy-mm-dd') from dual;
45,TO_DATE
to_date(string, format)
返回经过format格式化的string数据.
用法:select to_date('2024-11-21','yyyy/mm/dd') from dual;
46,TO_NUMBER
将输入字符转换为数字.
用法:select to_number('100') from dual;
47,DUMP
dump(input, ex, start, len)
以ex进制格式获取input数据的从start位置开始len长度的数据
- input:必需参数,代表输入的数据
- ex:可选参数,数据导出的进制格式,可以是2进制,16进制,8进制等
- start:可选参数,代表数据截取的开始位置
- len:可选参数,代表数据截取长度
用法:select dump(1231515), dump(1231515,16), dump(1231515,1, 3) from dual;
48,USERENV
获取当前用户对应的环境变量值.
用法:select userenv('isdba') from dual;