1.instr(主string,substring)
//查找字符串,返回substring在主string查找到的位置
SELECT instr('thisisanotherhelloworld','ano') FROM dual
instr(主string,substring,a,b)
//返回在主string从第a位开始遍历,第b次查找到substring的位置
SELECT instr('thisisanotherhelloanoworldano','ano',1,3) A FROM dual
2.COALESCE(expr1,expr2...)
//if expr1 notnull,返回expr1的值;else对expr2作相同判断,直至返回第一个不为null的值,如果所有的表达式都为空,返回null
SELECT coalesce(daily_data,hourly_data*8) as daily_info FROM table1
//一个表格里面包含了每日的生产量,生产速度两个属性。但是有些行只有生产量,有的行只有生产速度,有的则两个都有,如果需要取出所有行的生产量,那么就可以优先第一列,若为空则利用生产速度估算日产量来达到目的:
3.replace(string, string_pattern , string_replacement )
//将 string中的string_pattern子字串替换为string_replacement,返回替换后的string
4.to_date(字符串,转换格式)
//将字符串转换为日期格式
SELECT * FROM table_A WHERE TIMEDATE BETWEEN to_date('20200702','yyyymmdd') AND TO_DATE('20200825','yyyymmdd')
5.to_char(date类型,转换格式)
//将date类型的数据转换为字符型
SELECT to_char(sysdate,'DAY') FROM dual
//返回系统日期对应的星期几
同理,有以下对应的转换关系
D——当周第几天
Q—返回第几季度
ddd——当年第几天
WW——当年第几周
W——当月第几周
hh——12小时制
hh24——24小时制
yyyymmddhh24miss——年月时分秒
6.case 取值 when 条件
//类别switch 语句
SELECT CASE 字段名 WHEN 条件值1 THEN 返回值1 WHEN 条件值2 THEN 返回值2 END FROM table
SELECT CASE when 条件1 then 返回值1 when 条件2 then 返回值2 end from table