1. substr:截取字符串
substr(列名,截取起始数,截取长度)
#截取起始数和截取长度均为数字。截取起始数为负数时,表示从倒数第几位开始截取。
例:select substr(‘YOU’,3,1) form dual #dual是一张虚构表,from dual可看作from自身。
2. trim:去掉前后两头空格,中间的空格去不掉
3. replace:替换字符。(未改变原始数据,创造了新的列)
replace(列名,原字符,新字符) #区分大小写
例:去除“__I_LOVE_YOU__"中所有的“_”
select replace(‘ I LOVE YOU ',",") from dual
4. upper/lower:转化大/小写
5. length:查询字符串长度(不分中英文)
6. ABS:取绝对值(只针对数字型或文本型的数字)
7. mod:取余数
8. nvl:将空值转化为指定值
9. instr:在一列中搜索指定字符,返回指定字符所在位置
instr(列,指定的搜索内容,搜索起始点,第几次出现)
#搜索起始点和第几次出现默认为1;搜索起始点为负数时按从右到左的顺序找,但返回的仍是正序位置。
instr在条件句中可代替like。使用instr(列,字符)>0即可。
10. greatest:返回多列中较大值
greatest(列,列,列)
注:比较对象中若有空值需转化,否则会返回空值。
11. round、trunc:指定精度进行舍入(针对数字型)
round(列,位数):四舍五入 #位数为负数时代表舍弃小数点前多少位
trunc(列,位数):直接舍弃 #位数为负数时代表舍弃小数点前多少位
trunc(日期,截点格式) #去除日期的时分秒,针对日期型。截点格式必须加引号,省略默认认为‘dd’。截点格式表示保留到该位,该位后化为最小值。ss:秒;mi:分;hh:时;dd:天;mm:月;yyyy:年。
例:select trunc(sysdate,‘mi’) from dual #将系统当前时间保留到分的格式
12. 日期增减:日期型数据+/-数字
select sysydate+1 from dual
select date‘1991-01-01’-1 from dual
#select ‘1991-01-01’+1 from dual 不可以这么写,会报错,必须是日期型的数据
13. add_month:月份的增减
14. month_between:两个日期之间的月份
month_between(日期1,日期2)
15. last_day:查询指定日期所属月份的最后一天
16. 其他数据与日期型数据的转换
to_date(‘1991-01-01’,‘yyyy-mm-dd’):将字符型转为日期型
date‘1991-01-01’:将数据转为日期
to_char(sysdate,‘mi’):将日期转为字符