MySQL 数据处理函数的使用

2020-06-29  本文已影响0人  乘风破浪的姐姐

计算字段Concat()函数
Concat(),拼接串,即把多个串连接起来形成一个较长的串。需要一个或多个指定的串,各个串之间用逗号分隔。

select  CONCAT(s_name,'[',s_sex,']') as newstr from student    order by s_name;
image.png

去除空格Trim()函数
Trim函数,去掉串左右两边的空格

select CONCAT(trim(s.coursesname),'[',s.coursesid,']') as newcol from courses s   order by s.coursesname;
image.png

RTrim函数,去掉串右边的空格

select CONCAT(rtrim(s.coursesname),'[',s.coursesid,']')  as newcol from courses s   order by s.coursesname;
image.png

LTrim函数,去掉串左边的空格

select CONCAT(ltrim(s.coursesname),'[',s.coursesid,']')  as newcol from courses s   order by s.coursesname;
image.png

文本处理函数
Upper()函数 将串转换为大写

select Upper(CONCAT(trim(s.coursesname),'[',s.coursesid,']')) as newcol from courses s; 
image.png

left(str,len) str字符串,len截取长度,返回串左边的字符

select left((trim(s.coursesname)),5) as newcol from courses s; 
image.png
select left(Upper(CONCAT(trim(s.coursesname),'[',s.coursesid,']')),5) as newcol from courses s; 
image.png

日期和时间处理函数
获取 当前日期时间
在MySQL里也存在和Oracle里类似的dual虚拟表,MySQL可以忽略对该表的引用。

select NOW();  --2020-06-16 14:25:31
SELECT NOW() FROM DUAL;  --2020-06-16 14:25:31

以下日期时间函数,都等同于 now()。

SELECT CURRENT_TIMESTAMP();
SELECT CURRENT_TIMESTAMP;

SELECT LOCALTIME(); 
SELECT LOCALTIME; 

SELECT LOCALTIMESTAMP();
SELECT LOCALTIMESTAMP;

SELECT SYSDATE();

sysdate() 日期时间函数与 now() 类似, 不同之处在于:now() 在执行开始时值就得到了;sysdate() 在函数执行时动态得到值。
测试如下:

SELECT NOW(), SLEEP(3), NOW();
image.png
SELECT SYSDATE(), SLEEP(3), SYSDATE();
image.png

获取 当前日期

SELECT CURDATE();-- 当前日期:2020-06-16
SELECT CURRENT_DATE();-- 当前日期:等同于 CURDATE()
SELECT CURRENT_DATE;-- 当前日期:等同于 CURDATE()

获取 当前时间

SELECT CURTIME(); -- 当前时间:14:34:52
SELECT CURRENT_TIME();-- 当前时间:等同于 CURTIME()
SELECT CURRENT_TIME;-- 当前时间:等同于 CURTIME()

日期时间格式化

select s.s_name,DATE_FORMAT(s.s_birthday,'%Y年%m月%d日 %H时%i分%s秒') from student s ;
image.png
select s.s_name,DATE_FORMAT(s.s_birthday,'%Y年%m月%d日') from student s ;
image.png
select s.s_name,DATE_FORMAT(s.s_birthday,'%Y/%m/%d %H:%i:%s') from student s ;
image.png

更多日期函数请参考文章
https://www.cnblogs.com/wangmp/archive/2019/04/24/10760990.html

数值处理函数
下边列举一些数学上常用到的函数


image.png

round():四舍五入函数
round(数值,参数):如果参数的值为正数,表示保留几位小数,如果参数的值为0,则只保留正数部分们如果参数的值为负数,表示对小数点前第几位进行四舍五入。

select round(45.926,2) from dual; --45.93

ceil(数值):向上取整

select ceil(10.99) from dual; --11
select ceil(10.11) from dual; -11

floor(数值):向下取整

select floor(10.11) from dual;--10

mod(参数1,参数2):求出余数

select mod(10,4)from dual; --2

sqrt(数值):求出平方根

select sqrt(9)from dual; --3

power(底数,指数):返回某数的乘幂

select power(10, 2) from dual --100

RAND 生成一个0~1之间的随机数,传入整数参数来产生重复序列

sELECT RAND(1),RAND(),RAND(1);
image.png
上一篇下一篇

猜你喜欢

热点阅读