记忆-oracle单行函数

 1 概要

名称 说明



ASCII(X) 返回字符X的ASCII码
CONCAT(X,Y) 连接字符串X和Y
INSTR(X,STR[,START][,N) 从X中查找str,可以指定从start开始,也可以指定从n开始
LENGTH(X) 返回X的长度
LOWER(X) X转换成小写
UPPER(X) X转换成大写
LTRIM(X[,TRIM_STR]) 把X的左边截去trim_str字符串,缺省截去空格
RTRIM(X[,TRIM_STR]) 把X的右边截去trim_str字符串,缺省截去空格
TRIM([TRIM_STR  FROM]X) 把X的两边截去trim_str字符串,缺省截去空格
REPLACE(X,old,new) 在X中查找old,并替换成new
SUBSTR(X,start[,length]) 返回X的字串,从start处开始,截取length个字符,缺省length,默认到结尾



ABS(X) X的绝对值
ACOS(X) X的反余弦
COS(X) 余弦
CEIL(X) 大于或等于X的最小值
FLOOR(X) 小于或等于X的最大值
LOG(X,Y) X为底Y的对数
MOD(X,Y) X除以Y的余数
POWER(X,Y) X的Y次幂
ROUND(X[,Y]) X在第Y位四舍五入
SQRT(X) X的平方根
TRUNC(X[,Y]) X在第Y位截断



add_months(日期,数字) 日期+数字(月)
months_between(日期1,日期2) 日期1-日期2
next_day(日期,星期数) 求下一个星期几的具体日期
last_day(日期) 求指定日期的最后一天的日期
extract(格式 from 数据) 日期的时间分割,或技术给定两个日期的间隔



to_char(日期|数字|列,转换格式) 转换成字符串
to_date(字符串|列,转换格式) 转换成日期
to_number(字符串|列) 将指定的字符串转换成数字类型



nvl(数字|列,默认值) 如果显示数字是NULL的话,则使用默认值
nvl2(数字|列,返回结果1,返回结果2) 如果列不是NULL则返回结果1,如果为空返回2
nullif(表达式1,表达式2) 比较表达式1,和表达2,的结果是否相等,如果相等返回NULL,如果不相等返回表达式1
decode(列|值,判断值1,显示结果1,判断值2,显示结果2,...,默认值) 使用DECODE要全部判断,如果没有判断的内容就会显示NULL
case 列|数值 when 表达式1 then 显示结果1...else表达式n...end  
coalesce(表达式1,表达式2,...表达式n) (表达1,表达2,。。。。表达n)依次判断,如果表达式1为NULL,则显示表达式2,如果表达式2是NULL,则显示表达式3.



AVG(表达式) 平均值
SUM(表达式) 求和
MIN(表达式)、MAX(表达式) 最小值、最大值
COUNT(表达式) 数据统计
median() 返回中间值
variance() 返回方差
stddev() 返回标准方差


2 举例

2.1 字符函数

select upper('dd') from dual
select lower('DD') from dual
select initcap('dd') from dual
select replace('ad','d','a') from dual
select length('dd') from dual
select substr('abcdef',2) from dual
select substr('abcdef',2,2) from dual
select ascii('a') from dual
select chr(97) from dual
select ltrim('  a') from dual
select rtrim('a    ') from dual
select length(ltrim('  a')),length('  a') from dual
select rtrim('a    ') from dual
select trim('   a    ') from dual
select lpad('a',10,'b') from dual
select rpad('a',10,'b') from dual

2.2 数值函数

select round(1.115,2) from dual
select trunc(1.115,2) from dual
select mod(5,3) from dual

2.3.时间函数

select add_months(sysdate,2) from dual
select months_between(sysdate+60,sysdate) from dual
select next_day(sysdate,5) from dual
select last_day(sysdate) from dual

2.4 转换函数

select to_char(sysdate,'yy-mm-dd') from dual
select to_date('1000-1-1','yy-mm-dd') from dual
select to_number('100') from dual

附录

多种日期格式:
YYYY:四位表示的年份 
YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪 
IYYY:ISO标准的四位年份
MM:01~12的月份编号 
MON:缩写字符集表示 
MONTH:全拼字符集表示的月份,右边用空格填补
Q:季度
W:当月第几周
WW:当年第几周 
IW:ISO标准的年中的第几周
D:当周第几天 
DD:当月第几天 
DDD:当年第几天 
DY:缩写字符集表示
DAY:全拼字符集表示的天 如(星期六)
HH,HH12:一天中的第几个小时,12进制表示法 
HH24:一天中的第几个小时,取值为00~23 
MI:一小时中的分钟 
SS:一分钟中的秒 
SSSS:从午夜开始过去的秒数 
 
发布了463 篇原创文章 · 获赞 38 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/103785705