DQL 语言 --常见函数

2021-04-08 01:27

阅读:364

标签:加密   数据   功能   --   HERE   play   mic   comm   正数   

一、概述

  功能:类似于java中的方法好处:提高重用性和隐藏实现细节
  调用:select 函数名(实参列表);

二、单行函数

  1、字符函数
    concat:连接
    substr:截取子串
    upper:变大写
    lower:变小写
    replace:替换
    length:获取字节长度
    trim:去前后空格
    lpad:左填充
    rpad:右填充
    instr:获取子串第一次出现的索引

 

#1.length 获取参数值的字节个数

SELECT LENGTH(john);

技术图片

 

 

SELECT LENGTH(张三丰hahaha);

技术图片

 

 

SHOW VARIABLES LIKE %char%‘                                  //查看变量字符类型

技术图片

 

 

#2.concat 拼接字符串

SELECT CONCAT(last_name,_,first_name) 姓名 FROM employees;

技术图片

 

 

#3.upper、lower  大小写转换

SELECT UPPER(john);  

技术图片

 

SELECT LOWER(joHn);

技术图片

 

#示例:将姓变大写,名变小写,然后拼接

 

SELECT CONCAT(UPPER(last_name),LOWER(first_name))  姓名 FROM employees;

技术图片

 

#4.substr、substring

  注意:索引从1开始
截取从指定索引处后面所有字符

 

SELECT SUBSTR(李莫愁爱上了陆展元,7)  out_put;

 

技术图片

 

 

截取从指定索引处指定字符长度的字符

SELECT SUBSTR(李莫愁爱上了陆展元,1,3) out_put;

技术图片

 

 

#案例:姓名中首字符大写,其他字符小写然后用_拼接,显示出来

SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),_,LOWER(SUBSTR(last_name,2)))  out_put
FROM employees;

技术图片

 

#5.instr 返回子串第一次出现的索引,如果找不到返回0

SELECT INSTR(杨不殷六侠悔爱上了殷六侠,殷六侠) AS out_put;

技术图片

 

#6.trim   用于去掉前后空格,也可以用于去掉指定字符(串)。

SELECT LENGTH(TRIM(    张翠山    )) AS out_put;

技术图片

 

 

SELECT TRIM(a FROM aaaaaaaaa张aaaaaaaaaaaa翠山aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)  AS out_put;

技术图片

 

#7.lpad   用指定的字符实现左填充指定长度

SELECT LPAD(殷素素,10,*) AS out_put;

技术图片

 

 

SELECT LPAD(殷素素,2,*) AS out_put;

技术图片

 

#8.rpad 用指定的字符实现右填充指定长度

SELECT RPAD(殷素素,12,ab) AS out_put;

技术图片

 

#9.replace 替换

SELECT REPLACE(周芷若周芷若周芷若周芷若张无忌爱上了周芷若,周芷若,赵敏) AS out_put;

技术图片

 

 

  2、数学函数

    ceil:向上取整
    round:四舍五入
    mod:取模
    floor:向下取整
    truncate:截断
    rand:获取随机数,返回0-1之间的小数

 

#1.round 四舍五入

SELECT ROUND(-1.55);

技术图片

 

SELECT ROUND(1.567,2);  #保留两位小数

技术图片

 

#2.ceil 向上取整,返回 >= 该参数的最小整数

SELECT CEIL(-1.02);

技术图片

 

#3.floor 向下取整,返回

SELECT FLOOR(-9.99);

技术图片

 

 

#4.truncate 截断(小数点后保留几位)

SELECT TRUNCATE(1.69999,1); #小数点后保留一位

技术图片

 

#5.mod取余

  实现算法:mod(a,b) :  a-a/b*b
  例子:mod(-10,-3):-10- (-10)/(-3)*(-3)=-1
  记忆:被除数是正数,余数为正数,被除数是负数,余数为负数。
SELECT MOD(10,-3);

技术图片

 

 简写:

SELECT -10 % -3;

技术图片

 

  3、日期函数
    now:返回当前日期+时间
    year:返回年
    month:返回月
    day:返回日
    date_format:将日期转换成字符
    curdate:返回当前日期
    str_to_date:将字符转换成日期
    curtime:返回当前时间
    hour:小时
    minute:分钟
    second:秒
    datediff:返回两个日期相差的天数
    monthname:以英文形式返回月
 
#1.now 返回当前系统日期+时间
SELECT NOW();

技术图片

 

#2.curdate 返回当前系统日期,不包含时间

SELECT CURDATE();

技术图片

 

#3.curtime 返回当前时间,不包含日期

技术图片

 

#4.可以获取指定的部分,年、月、日、小时、分钟、秒

SELECT YEAR(NOW()) 年;

技术图片

SELECT YEAR(1998-1-1) 年;

技术图片

查询雇员出生日期:

SELECT  YEAR(hiredate) 年 FROM employees;

技术图片

SELECT MONTH(NOW()) 月;

技术图片

SELECT MONTHNAME(NOW()) 月;

技术图片

 查询: 日,时,分,秒

SELECT CONCAT(DATE(NOW()),_,HOUR(NOW()),_,MINUTE(NOW()),_,SECOND(NOW())) ;

技术图片

 

 #5.str_to_date 将字符串通过指定的格式转换成日期

  相关参数表:

技术图片

 

SELECT STR_TO_DATE(1998-3-2,%Y-%c-%d) AS out_put;

技术图片

 

#查询入职日期为1992-4-3的员工信息

SELECT * FROM employees WHERE hiredate = 1992-4-3;    #这种传统的方法,如果格式变了 ‘4-3 1992’ ,则无法搜到。

技术图片

 

SELECT * FROM employees WHERE hiredate = STR_TO_DATE(4-3 1992,%c-%d %Y);  #用这种指定格式查询,保证能查到

 技术图片

#6.date_format 将日期转换成字符

SELECT DATE_FORMAT(NOW(),%y年%m月%d日) AS out_put;

技术图片

 

#查询有奖金的员工名和入职日期(xx月/xx日 xx年)

SELECT last_name,DATE_FORMAT(hiredate,%m月/%d日 %y年) 入职日期
FROM employees
WHERE commission_pct IS NOT NULL;

技术图片

 

 

  4、其他函数
    version 当前数据库服务器的版本      //SELECT VERSION();
    database 当前打开的数据库        //SELECT DATABASE();
    user当前用户                      //SELECT USER();
    password(‘字符‘):返回该字符的密码形式    //SELECT PASSWORD(1111);
    md5(‘字符‘):返回该字符的md5加密形式   //SELECT MD5(1234);

 

 

 

 

 

 

 

 

 

 

 

 

DQL 语言 --常见函数

标签:加密   数据   功能   --   HERE   play   mic   comm   正数   

原文地址:https://www.cnblogs.com/lfw421935678/p/13380062.html


评论


亲,登录后才可以留言!