【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131054454
出自【进步*于辰的博客】>
由于是随兴记录,因此阐述的比较多而乱,大家可以直接【ctrl + F】进行搜索。
文章目录
- 1、细节积累
- 2、单行函数
- 3、关于日期
- 3.1 运算
- 3.2 日期函数
 
- 4、关于类型间转换
- 4.1 隐式转换
- 4.2 显式转换
 
1、细节积累
- 字符串前有一个空字符,故首字母的索引是1;
2、单行函数
- substr(s, a, b),截取。a 是开始索引,可为负值;b 是截取长度。注意:截取方向始终向右;
- round(a, b),四舍五入。b 是精确位数,若- b < 0,则向左精确。因此,- round(a)等价于- round(a, 0);
- upper(s),转大写;- lower(s),转小写;- initcap(s),首字母大写;- length(s),长度;- concat(a, b),拼接。等同于- ||;- trunc(s),截取,类似- round(a);- sysdate,系统时间;
- instr(s1, s2[, a][, b]),查找。s2 是查找字符,a 是开始索引,b 是第几个。因此,- instr(s1, s2)等价于- instr(s1, s2, 1, 1);
- lpad/rpad(s1, n, s2),左/右填充。将- s1用- s2向左填充成长度为- n的字符串;
 示例:- select lpad(rpad('csdn', 7, '#'), 10, '*') result from dual;
 结果:
  
 若- n < s1.length,则无论- lpad/rpad(),结果都显示- s1的前- n个字符(从左往右)。
- replace(s1, s2, s3),替换。将- s1中的- s2用- s3替换;
- ’trim(s),去除前后空格;trim(leading/trailing/both/无 a from b),去除 b 中开头/结尾/开头和结尾/开头和结尾的 a;
- mod(a, b),即- a%b,余数符号跟 a;
3、关于日期
3.1 运算
- 加int,改变天数,进位;
- 加hour/24(hour 是小时),改变小时,进位。
3.2 日期函数
- months_between(d1, d2),返回- d1与- d2相差的自然月数;
- add_months(d, n),增加月数;
- next_day(d, '星期一'),返回 d 后的第1个星期一;
- last_day(d),返回 d 当月的最后1天;
- round(d, 'dd'),以- day四舍五入。- 'dd'是格式码,其他格式码:- 'CC'→ 世纪,- 'YY'→ 年,- 'mm'→ 月,- 'hh24'→ 小时,- 'mi'→ 分钟,- 'ss'→ 秒。其中,- round(d, 'dd')等价于- round(d);
- trunc(d, 'dd')同- round(),- trunc(d, 'dd')等价于- trunc(d);
- extract(day from d),获取 d 的天数。- day是标识符,表示“天”。其他标识符:- 'year'→ 年,- 'month'→ 月,
4、关于类型间转换
4.1 隐式转换
- insert、- update时,转换为字段的类型,如:- Integer → number;
- select时,转换为属性的类型,如:- number → int;
- 字符与数字比较时,转换为数值类型;
- 字符与日期比较时,转换为日期类型;
- 用||连接时,转换为字符类型。
4.2 显式转换
后续补充。
本文持续更新中。。。















