【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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 显式转换
后续补充。
本文持续更新中。。。















