单行函数
对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。
每一个函数中都有一些常用的函数(方法)
在学习函数的时候,Mysql数据库为咱们提供了一张虚拟表 dual
字符函数:对字符串操作 (相当于JAVA中的String)
① Upper(字符串)---将字符串转换为大写例子:select upper('zhangsan') from dual;LOWER(字符串)---将字符串转换为小写例子:select ename,lower(ename) from emp;②LENGTH(字符串)-----获取字符串的长度例子:select length('abcde') from dual;③REPALCE(字符串,旧的字符串,新的字符串) 替换例子:找到emp表中的7369人员的名字,进行替换select ename,REPLACE(ename,'TH','AA')from empwhere empno=7369;④SUBSTR(字符串,开始位置,长度) 截取例子:select ename,substr(ename,2,2)from empwhere empno=7369;例子:截取后三位select ename,substr(ename,-3)from empwhere empno=7369;⑤LPAD(字符串,字符串长度len,添加的字符串strs) 动态拼接字符串,从左边例子:select LPAD('he',10,'*') from dual;RPAD(字符串,字符串长度len,添加的字符串strs) 动态拼接字符串,从右边例子:select RPAD('he',10,'*') from dual;⑥trim 消除空格LTRIM(字符串)消除前面的空格例子:select LTRIM(' HELLO') from dual;RTRIM(字符串)消除后面的空格例子:select RTRIM(' HELLO ') from dual;
2、数值函数:对数字进行操作
①四舍五入 ROUND(数字,[保留的小数位数])例子:select ROUND(129.56) from dual;select ROUND(129.56,1) from dual;②求余数 MOD(数字1,数字2)例子:select MOD(11,3) FROM DUAL;③绝对值 ABS(数字)例子:select ABS(-11) from dual;④返回不大于数字的最大整数 FLOOR(数字)例子:select floor(5.5) from dual;select floor(-5.5) from dual;⑤返回大于数字的最小整数 ceiling(数字) --正负数都可以例子:select ceiling(5.5) from dual;select ceiling(-5.5) from dual;
3、日期函数:操作数据库中的日期
①获取当前时间now()sysdate()--区别:now获取最开始函数的值--select now(),sleep(3),now() from dual;sysdate获取函数执行时的值--select sysdate(),sleep(3),sysdate() from dual;②获取日期 curdate()例子:select curdate() from dual;③获取时间 curtime()例子:select curtime() from dual;④获取星期 dayofweek(日期) 返回索引例子:select dayofweek('2018-08-30') from dual;日期的工作日索引 1=星期日,2-星期一...7=星期六⑤获取一月中的第几天 dayofmonth(日期)例子:select DAYOFMONTH('2018-08-23') from dual;⑥获取一年中的第几天 dayofyear(日期)例子:select dayofyear('2018-08-30') from dual;⑦获取日期中的月份 month(日期)例子:select month('2018-08-30') from dual;⑧获取季度 quarter(日期)例子:select quarter('2018-08-30') from dual;
4、其它函数
①获取当前数据库 database()例子:select database() from dual;②获取当前数据库用户 system_user()例子:select system_user() from dual;③获取数据库版本 version()例子:select version() from dual;④加密 md5(内容)例子:select md5('123456') from dual;⑤格式化 format(内容,格式化)例子:select format(123456789,3) from dual;