字符函数

  • [ 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');

图片描述


已注销
35 声望8 粉丝