• Oracle基本函数总结


    1.substrb & substr
    substrb按字节长度截取,substr按字符长度截取,(字符长度具体取决于字符集的设置类型)。
     
    2.lengthb & length 
    lengthb按字节长度截取,length 按字符长度截取(同理)。
     
    3.connect by level
    --1 --获取连续的数据(注意:level只用使用<,<=,=符号)
    select level from dual connect by level <= 5;
    --2 --获取连续的指定时间(注意:获取连续的时间需要包含当天需要再+1天)
    select sysdate-level+1 days from dual connect by level <= 5;
     
     
    --Oracle常见函数记录
     
    --数值型函数
    ----返回绝对值 abs(x)
    ----返回正负值 sign(x)
    ----返回较大的最小整数 ceil(x)
    ----返回较小的最大整数 floor(x)
    ----返回x的y次幂 power(x,y)
    ----返回常量e的y次幂 exp(y)
    ----返回以x为底的y的对数 log(x,y)
    ----返回以e为底的y的对数(e为数学常量)
    ----返回x除以y的余数 mod(x,y)
    ----返回四舍五入后的值 round(x[,y])
    ----返回x按精度y截取后的值 trun(x[,y])
    ----返回x的平方根 sqrt(x)
     
    --字符型函数
    ----返回字符表达式最左端字符的ASCII 码值 ASCII(x1)
    ----返回ASCII为x的字符 chr()
    ----连接两个字符串 concat(c1,c2)
    ----把每个单词的首字个字母变成大写 initcap(c1)
    ----把整个字符串转换为小写 lower(c1)
    ----把整个字符串转换为大写 upper(c1)
    ----把每个单词首个字母变为大写 nls_initcap(x[,y])
    ----把整个字符串转换为小写 nls_lower(x[,y])
    ----把整个字符串转换为大写 nls_upper(x[,y])
    ----字符串中搜索字符位置(全角算1字符) instr(C1,C2[,I[,J]])
    ----字符串中搜索字符位置(全角算2字符) instrb(C1,C2[,I[,J]])
    ----返回字符串的长度(全角算1字符) length(c1)
    ----返回字符串的长度(全角算2字符)lengthb(c1)
    ----返回字符串的长度(其他)lengthc(c1) length2(c1) length4(c1)
    ----在左边添加字符 lpad(c1,n[,c2])
    ----在右边添加字符 rpad(c1,n[,c2])
    ----删除左边字符 ltrim(c1,[,c2])
    ----删除右边字符 rtrim(c1,[,c2])
    ----替换子串字符 replace(c1,c2[,c3])
    ----字符串语音表示形式 soundex(c1)
    ----截取字符串(全角算1字符) substr(c1,n1[,n2])
    ----截取字符串(全角算2字符) substrb(c1,n1[,n2])
    ----替换子字符 translate(c1,c2,c3)
    ----删除左边和右边字符串 trim(c1 from c2)
     
    --日期函数
    ----返回系统当前日期 sysydate
    ----返回指定月数的日期 add_months()
    ----返回本月最后一天的日期 last_day()
    ----返回两个日期间隔月数 months_between
    ----返回时区的对应时间 new_time()
    ----四舍五入后的日期第一天 round()
    ----返回日期所在期间的第一天 trunc()
    ----返回下周某一天的日期 next_day()
    ----提取时间日期中的数据 extract()
    ----返回会话中的时间和日期 localtimestamp
    ----返回当前会话时区中的当前日期和时间 current_timestamp
    ----返回数据库时区设置 dbtimezone
    ----返回当前会话时区 sessiontimezone
    ----变动日期时间数值 interval
     
    --转换函数
    ----字符串转为rowid值 chartorowid(c1)
    ----rowid的值转换为字符串 rowidtochar(rowid)
    ----字符串语言字符集转换 convert(c1,set1,set2)
    ----十六进制构成的字符串转换为二进制 HEXTORAW(c1)
    ----二进制构成的字符串转换为十六进制 rawtohex(c1)
    ----将日期或数据转换为char数据类型TO_CHAR(x[[,c2],C3])
    ----字符串转换为日期型 TO_DATE(X[,c2[,c3]])
    ----字符串转换为字符型TO_NUMBER(X[[,c2],c3])
    ----半角转化为全角TO_MULTI_BYTE(c1)
    ----全角转化为半角to_single_byte(c1)
    ----字符集名称转换为ID nls_charset_id(c1)
    ----字符集ID转换为名称 nls_charset_name(n1)
     
    --聚组函数
    ----统计平均值 AVG([distinct|all]x)
    ----统计合计值 SUM([distinct|all]x)
    ----统计标准误差 STDDEV([distinct|all]x)
    ----统计方差 VARIANCE([distinct|all]x)
    ----统计查询所得的行数 count(*|[distinct|all]x)
    ----统计最大值 MAX([distinct|all]x)
    ----统计最小值 MIN([distinct|all]x)
     
    --其它函数
    ----为空值赋值 nvl() nvl2()
    【语法】NVL (expr1, expr2)
    【功能】若expr1为NULL,返回expr2;expr1不为NULL,返回expr1。
    注意两者的类型要一致
    【语法】NVL2 (expr1, expr2, expr3)
    【功能】expr1不为NULL,返回expr2;expr2为NULL,返回expr3。
    expr2和expr3类型不同的话,expr3会转换为expr2的类型
    select nvl2(1,'1',3) from dual;
    ----COALESCE函数:第一个不为空的表达式,如果都为空则返回空值
    select coalesce(null ,1,2,3) from dual;
    select coalesce(null ,null,null) from dual;
    ----条件取值 decode
  • 相关阅读:
    camp训练day2
    LCA板子题
    牛客多校第一场
    P1063 能量项链 区间DP
    64. Minimum Path Sum
    46. Permutations
    216. Combination Sum III
    62. Unique Paths
    53. Maximum Subarray
    22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/hcy-zyy/p/14782669.html
Copyright © 2020-2023  润新知