美文网首页
MySQL 数据处理函数的使用

MySQL 数据处理函数的使用

作者: 乘风破浪的姐姐 | 来源:发表于2020-06-29 18:32 被阅读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

    相关文章

      网友评论

          本文标题:MySQL 数据处理函数的使用

          本文链接:https://www.haomeiwen.com/subject/cuzlxktx.html