(七)运算符与函数

作者: 黒猫 | 来源:发表于2017-07-17 12:55 被阅读65次

    1、字符函数

    函数名称 | 描述
    ----|------|----
    CONCAT() | 字符连接
    CONCAT_WS() | 使用指定的分隔符进行字符连接
    FORMAT() | 数字格式化
    LOWER() | 转换成小写字母
    UPPER() | 转换成大写字母
    LEFT() | 获取左侧字符
    RIGHT() | 获取右侧字符
    LENGTH() | 获取字符串长度
    LTRIM() | 删除前导空格
    RTRIM() | 删除后续空格
    TRIM() | 删除前导和后续空格
    SUBSTRING() | 字符串截取
    [NOT] LIKE() | 模式匹配
    REPLACE() | 字符串替换

    函数CONCAT()

    创建数据表“name”并插入记录:


    查看该表数据:


    要求查询的结果同时输出“first_name”与“last_name”:


    使用“concat()”连接,并赋予别名:


    函数CONCAT_WS()

    函数CONCAT_WS()要求至少有3个参数,第一个是参数是指定的分隔符,例如“.”,后续的参数是要连接的数据:

    函数FORMAT()

    函数FORMAT()可以将数字格式化为字符型,“,”之后的数字为保留到几位小数:

    函数LOWER()、UPPER()

    函数LOWER()可以将数据转化为纯小写字母:

    函数UPPER()可以将数据转化为纯大写字母:


    函数LEFT()、RIGHT()

    函数LEFT()参数中“,”的数字为从左侧获取几位字符:

    函数RIGHT()参数中“,”的数字为从右侧获取几位字符,还可以进行函数的嵌套,将获取的字符进行小写转化:


    函数LENGTH()

    函数LENGTH()可以获取字符串的长度,注意空格也算在长度之内:

    函数LTRIM()、RTRIM()、TRIM()

    函数LTRIM()可以将第一个字符前的空格删除:

    函数RTRIM()可以将最后一个字符后的空格删除:


    函数TRIM()可以将字符前后的空格都删除:


    除此之外,函数TRIM()还可以删除特定字符,例如使用“LEADING”删除前导特定字符:

    使用“TRAILING”删除后续特定字符:


    使用“BOTH”删除前导及后续特定字符:


    函数SUBSTRING()

    函数SUBSTRING()可以截取字符串,参数分别是要截取的内容,从第几位开始截取,截取几位;要注意的是MySQL是从1开始,与Java从0开始不同:

    如果只注明从第几位开始截取,那么SUBSTRING()会一直截取到字符串的结尾:

    SUBSTRING()的起始位置参数还可以是负值,代表从末尾开始倒数的第几位;但要注意,截取的长度不能是负值,否则结果为空:

    函数[NOT] LIKE()

    函数LIKE()可以模糊匹配,使用通配符“_”或“%”,“_”指任意一个字母;“%”指任意大于0个字母:

    查看数据表“user”中的详细记录:

    例如查找姓名第4个字母为“e”的用户记录:


    每一条“_”代表一位字母每一条“_”代表一位字母

    例如查找姓名中含有字母“o”的用户记录:


    “%”代表不限制字母数量“%”代表不限制字母数量

    查看数据表“name”中的详细记录:


    查询带有“%”符号的记录:


    结果出现了未带有“%”的记录,原因是系统将3个“%”全部认为是通配符,因此,可以在中间的“%”前加转义字符“\”,使系统认为其只是普通的“%”符号,没有特殊意义:


    函数REPLACE()

    之前的LTRIM()、RTRIM()、TRIM()只能对字符之前或之后的空格进行处理,而对于字符中间的空格则无能为力,对此可以使用REPLACE()进行替换,其参数分别是待处理的字符串,要替换的字符,替换后的字符:


    而且要替换的字符及替换后的字符数量并没有限制:



    2、数值运算符与函数

    数值运算符即常见的:+、-、x、/等等,这里不做详细的演示,而函数如下表所示:

    函数名称 | 描述
    ----|------|----
    CEIL() | 进一取整
    DIV | 整数除法
    FLOOR() | 舍一取整
    MOD | 取余数
    POWER() | 幂运算
    ROUND() | 四舍五入
    TRUNCATE() | 数字截取

    函数CEIL()、FLOOR()

    只要小数点后有位数,函数CEIL()就向上取整;而函数FLOOR()则刚好相反,会向下取整:


    函数DIV

    函数DIV进行整数除法,结果只保留到整数:


    函数MOD

    函数MOD进行取余数与取模相同,对于整数或浮点数都适用:


    函数POWER()

    函数POWER()即幂运算,例如求2的12次方:


    函数ROUND()

    函数ROUND()就是常见的四舍五入,参数分别是待处理的数据以及要保留几位小数,例如对3.652分别保留2位、1位以及取整:


    函数TRUNCATE()

    函数TRUNCATE()即数字截断,参数分别是待处理的数据以及要保留几位小数,与ROUND()不同,TRUNCATE()会直接去掉被截断的数字,例如对3.652分别保留2位、1位以及取整:


    最后的“-1”会在将小数点后所有位数都截掉的基础上,再将小数点前1位进行清零操作最后的“-1”会在将小数点后所有位数都截掉的基础上,再将小数点前1位进行清零操作

    3、比较运算符与函数

    函数名称 | 描述
    ----|------|----
    [NOT] BETWEEN……AND…… | [不]在……范围之内
    [NOT] IN() | [不]在列出值范围内
    IS [NOT] NULL | [不]为空

    函数[NOT] BETWEEN……AND……

    查看数据表“user”中的详细记录:

    查找年龄在14岁至28岁之间的用户记录:


    函数[NOT] IN()

    函数[NOT] IN()括号中的内容就是列出值的范围:


    “1”代表TRUE,“0”代表FALSE“1”代表TRUE,“0”代表FALSE

    函数IS [NOT] NULL

    查看数据表“name”:


    查找姓名为空的记录:



    4、日期时间函数

    函数名称 | 描述
    ----|------|----
    NOW() | 当前时间和日期
    CURDATE() | 当前日期
    CURTIME() | 当前时间
    DATE_ADD() | 日期变化
    DATEDIFF() | 日期差值
    DATE_FORMAT() | 日期格式化

    函数NOW()、CURDATE()、CURTIME()

    函数NOW()返回当前查询时的日期及时间,而函数CURDATE()、CURTIME()则是分别显示日期或时间:


    函数DATE_ADD()

    函数DATE_ADD()可以对日期进行增减,参数为代修改的日期以及要增减的量,常用的关键词有YEAR、MONTH、WEEK、DAY等:



    可用关键词可用关键词

    函数DATEDIFF()

    函数DATEDIFF()可以计算日期之间差值,例如2016年6月28日距离现在相差多少:


    函数DATE_FORMAT()

    函数DATE_FORMAT()可以转换日期的格式:


    可用说明符可用说明符

    5、信息函数

    函数名称 | 描述
    ----|------|----
    CONNECTION_ID() | 连接ID
    DATABASE() | 当前数据库
    LAST_INSERT_ID() | 最后插入记录的ID
    USER() | 当前用户
    VERSION() | 版本信息

    函数CONNECTION_ID()

    函数CONNECTION_ID()可以返回MySQL服务器的连接数,也就是到目前为止MySQL服务的连接次数,每个连接都有各自唯一的ID:


    函数DATABASE()

    函数DATABASE()显示当前数据库:


    函数LAST_INSERT_ID()

    函数LAST_INSERT_ID()需要有类似“ID”的自动编号字段:


    因此对数据表“name”加以改造:


    添加一条新记录,此时“id”编号自增应为5,查询最后插入记录的ID,结果确实是5:


    如果一次插入多条记录,那么只会查询到多条记录中第一条插入记录的ID:


    函数USER()、VERSION()

    函数USER()、VERSION()分别显示登录的用户名及MySQL版本信息:



    6、聚合函数

    函数名称 | 描述
    ----|------|----
    AVG() | 平均值
    COUNT() | 计数
    MAX() | 最大值
    MIN() | 最小值
    SUM() | 求和

    聚合函数都只有一个返回值,下列演示都使用数据表“tdb_goods”:


    函数AVG()

    求所有商品的平均价格:


    还可以使用函数ROUND()对其进行四舍五入,并保留2为小数:


    函数COUNT()

    求商品的总数量:


    函数MAX()

    求最高的商品价格:


    函数MIN()

    求最低的商品价格:


    函数SUM()

    求所有商品的总价格:



    7、加密函数

    函数名称 | 描述
    ----|------|----
    MD5() | 信息摘要算法
    PASSWORD() | 密码算法

    函数MD5()

    函数MD5()为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护:

    结果共32位结果共32位
      如果该数据库中的信息是用于日后的WEB应用,建议都使用MD5进行加密。

    函数PASSWORD()

    函数PASSWORD()更多的用于密码的计算:


    结果共32位结果共32位

    例如修改MySQL用户的登录密码:


    验证原密码能否登陆:


    提示密码错误提示密码错误

    使用修改后的密码“root”进行登录:


    成功进入MySQL界面成功进入MySQL界面

    8、运算符与函数汇总:

    • 字符函数

    函数名称 | 描述
    ----|------|----
    CONCAT() | 字符连接
    CONCAT_WS() | 使用指定的分隔符进行字符连接
    FORMAT() | 数字格式化
    LOWER() | 转换成小写字母
    UPPER() | 转换成大写字母
    LEFT() | 获取左侧字符
    RIGHT() | 获取右侧字符
    LENGTH() | 获取字符串长度
    LTRIM() | 删除前导空格
    RTRIM() | 删除后续空格
    TRIM() | 删除前导和后续空格
    SUBSTRING() | 字符串截取
    [NOT] LIKE() | 模式匹配
    REPLACE() | 字符串替换

    • 数值运算符与函数

    函数名称 | 描述
    ----|------|----
    CEIL() | 进一取整
    DIV | 整数除法
    FLOOR() | 舍一取整
    MOD | 取余数
    POWER() | 幂运算
    ROUND() | 四舍五入
    TRUNCATE() | 数字截取

    • 比较运算符与函数

    函数名称 | 描述
    ----|------|----
    [NOT] BETWEEN……AND…… | [不]在……范围之内
    [NOT] IN() | [不]在列出值范围内
    IS [NOT] NULL | [不]为空

    • 日期时间函数

    函数名称 | 描述
    ----|------|----
    NOW() | 当前时间和日期
    CURDATE() | 当前日期
    CURTIME() | 当前时间
    DATE_ADD() | 日期变化
    DATEDIFF() | 日期差值
    DATE_FORMAT() | 日期格式化

    • 信息函数

    函数名称 | 描述
    ----|------|----
    CONNECTION_ID() | 连接ID
    DATABASE() | 当前数据库
    LAST_INSERT_ID() | 最后插入记录的ID
    USER() | 当前用户
    VERSION() | 版本信息

    • 聚合函数

    函数名称 | 描述
    ----|------|----
    AVG() | 平均值
    COUNT() | 计数
    MAX() | 最大值
    MIN() | 最小值
    SUM() | 求和

    • 加密函数

    函数名称 | 描述
    ----|------|----
    MD5() | 信息摘要算法
    PASSWORD() | 密码算法


    版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作!             ↓↓↓
    

    相关文章

      网友评论

        本文标题:(七)运算符与函数

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