字符函数
[ lower(str) ]:返回字符串str变为小写字母
select lower('HelloWorld');
[ upper(str) ]:返回字符串str变为大写字母
select upper('HelloWorld');
[ concat(str_1,str_2) ]:返回结果为连接参数产生的字符串
select concat(name,'的月薪是:',sal) from dual;
[ char_length(str) ]:字符串长度
select char_length('我今年23岁') from dual;
[ length(str) ]:字符串长度(单位为字节)
select length('我今年23岁') from dual;
一个英文字母,数字占一个字节,一个中文占三个字节
[ lpad(str,len,padstr) ]:左填充,具体看例子,注意len不同,结果不同
select lpad('ABC',7,'X'),lpad('ABC',3,'X'),lpad('ABC',1,'X') from dual;
[ rpad(str,len,padstr) ]:右填充
select rpad('ABC',7,'X'),rpad('ABC',3,'X'),rpad('ABC',1,'X') from dual;
[ ltrim(str) ]:左边空格被trim掉
[ rtrim(str) ]:右边空格被trim掉
[ trim(str) ]:左/右两边空格被trim掉
select ltrim(' A B C '),rtrim(' A B C '),trim(' A B C ') from dual;
[ replace(str,from_str,to_str) ]:替换字符串中的字符, 大小写敏感
[ substring(str,pos,len) ]:截取字符串
select substring('ABCDEFGHI',3),substring('ABCDEFGHI',3,3) from dual;
数字函数
[ abs ]:返回一个数字的绝对值
select abs(-32);
[ mod(N,M) ]:返回N被M除后的余数
select mod(42,10);
select 42 mod 10;
[ pi() ]:圆周率
select pi();
[ pow(X,Y) ]:X的Y次方
select pow(2,4);
[ ceil(x) ]:返回不小于x的最小整数值
select ceil(0.5),ceil(-1.5),ceil(1.5);
[ floor(x) ]:返回不大于x的最大整数值
select floor(0.5),floor(-1.5),floor(1.5);
[ round(x),round(x,n) ]:返回参数x其值最近似的整数。
select round(-1.49),round(-1.50),round(1.49),round(1.50);
select round(-123.456789,3),round(-123.456789,3);/*小数点第n位,n位四舍五入*/
select round(-123.456789,3),round(-123.456789,-3); /*小数点前用负号*/
日期函数
[ now() ]:当前时间
select now();
[ date_add ]:向日期添加指定的时间间隔
select date_add('2019-04-06',interval 100 day); /*也可以-100*/
select date_add(now(),interval 100 day);
[ date_sub ]:
select date_sub('2019-04-06',interval 100 day);
select date_sub(now(),interval 100 day);
[ current_date() ]:当前日期
select current_date();
[ current_time() ]:当前时间
select current_time();
[ datediff(expr1,expr2) ]:返回起始时间expr1和结束时间expr2之间天数
select datediff('2015-12-31','2016-12-31');
[ day,hour,minute,month,year,last_day ]:获取日期时间中的某一段
select year(now()),month(now()),minute(now());
[ unix_timestamp(date) ]:返回距离1970-01-01 00:00:00的秒数
select unix_timestamp(now());
[ from_unixtime() ]
select from_unixtime(unix_timestamp(now()));
[ format(X,D) ]:数字和字符串的转换
select format(123456.789,2);/*保留D位小数*/
[ date_format(date,format) ]:把日期转化为字符串
select date_format(now(),'%Y-%m-%d');
[ str_to_date ]:字符串转换为日期时间值
select str_to_date('2018,05,20','%Y,%m,%d');