一、字符函数
1.CONCAT
拼接字符串
MySQL:CONCAT(str1,str2,…)
Oracle:CONCAT(str1,str2)
PS:Oracle只能连接两个字符,而“||”可以连接多个字符,例:‘aa’||‘bb’
2.UPPER
将参数全部变为大写
UPPER('abcd' )
3.LOWER
将参数全部变为小写
LOWER(' ABCD' )
4.SUBSTR
索引从1开始,返回指定位置及其之后的字符串
格式1: SUBSTR(str, start, length);
格式2:SUBSTR(str, start) ;
str为字符串,start为起始位置,length为长度
5.REPLACE
替换所有的指定的字符串为另一个字符串
REPLACE( 'abcbd' , 'b' ,'#' );
结果: a#c#d
6.FIND_IN_SET
MySQL:FIND_IN_SET(str,strlist)
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录
二、日期函数
1. 获取当前时间
MySQL:NOW()——取的是语句开始执行的时间,SYSDATE()——取的是动态的实时时间
Oracle:SYSDATE
2.格式化时间
MySQL:DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%S')
PS:%H是24小时制,%h是12小时制
Oracle:TO_DATE(SYSDATE, 'yyyy-mm-dd hh24:mi:ss')
PS:hh24是24小时制,hh是12小时制
3.时间加减
MySQL:
-- INTERVAL表示某段时间
INTERVAL '时间' <YEAR/MONTH/DAY/HOUR/MINUTE/SECOND>
-- 当前时间加1天
DATE_ADD(NOW(), INTERVAL 1 DAY);
-- 当前时间减10分钟
DATE_SUB(NOW(), INTERVAL 10 MINUTE);
三、流程控制函数
1.判断NULL
MySQL:IFNULL(column, alt_value)
Oracle:NVL(column,alt_value)
函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值
2.CASE
用法一:
CASE 要判断的字段或者表达式
WHEN 常量1 THEN 要显示的值1或者与语句1
WHEN 常量2 THEN 要显示的值2或者与语句2
WHEN 常量3 THEN 要显示的值3或者与语句3
ELSE 要显示的值x或者与语句x
END
用法二:
CASE
WHEN 条件1 THEN 要显示的值1或者与语句1
WHEN 条件2 THEN 要显示的值2或者与语句2
WHEN 条件3 THEN 要显示的值3或者与语句3
ELSE 要显示的值x或者与语句x
END