• 菜鸟的MySQL学习笔记(四)


    MySQL中的运算符和函数:

    1、字符函数;
    2、数值运算符与函数;
    3、比较运算符与函数;
    4、日期时间函数;
    5、信息函数;
    6、聚合函数;
    7、加密函数等;
     
    6-1、字符函数:
    CONCAT()                     字符连接      
    #SELECT  CONCAT(first_name,last_name) AS fullname FROM name_test;   从name表中 连接显示 first last
    CONCAT_WS()              使用指定的分隔符进行字符连接
    #SELECT CONCAT_WS('|','A','b','C') ;     第一个参数指定分隔符  结果 A|b|C
    FORMAT()                     数字格式化,返回类型为字符型
    #SELECT FORMAT(12560.75,2);     后面的2 指保留几位小数
    LOWER()                       转换为小写字母  
    #SELECT LOWER(MySQL);    结果为mysql
    UPPER()                        转换为大写字母
    LEFT()                            获取左侧字符
    #SELECT LEFT(MySQL,2);     结果为 My
    RIGHT()                         获取右侧字符
    LENGTH()                      获取字符串长度
    #SELECT LENGTH('My SQL')  结果为6 中间有个空格
    LTRIM()                         删除前导空格
    # SELECT LENGTH(SELECT LTRIM('    MySQL   ');)  计算删除前导空格之后的字符长度
    RIRIM()                          删除后续空格
    TRIM()                           删除前导和后续空格 
    #SELECT TRIM(LEADING'?' FROM  ‘???mysql???’) 将?替换掉空格 删除前导和后续的?  但中间的?去不掉
    SUBSTRING()                字符串截取
    #SELECT   SUBSTRING('MySQL',1,2)  截取位置第1个,长度为2
    #SELECT   SUBSTRING('MySQL',3)     截取第3位以及以后的
    #SELECT   SUBSTRING('MySQL',-1)    截取位置为-1,长度不能为负数
    [NOT] LIKE                    模式匹配
    #SELECT * FROM test WHERE first_name LIKE '%1%%' ESCAPE '1';   告诉1后面的%不需要作为通配符匹配
    REPLACE()                    字符串替换
    #SELECT REPLACE('???My??SQL???','?','!');  结果为!!!My!!SQL!!! 将?替换成!,也可以将?替换成空字符串(去空格,去符号)
     
    6-2 数值运算符
    CEIL()                      进一取整
    #SELECT CEIL(3.01)  结果为4
    DIV()                       整数除法
    #SELECT 3 DIV 4   结果为0 
    #SELECT 3/4   结果为0.75
    FLOOR()                 舍一取整
    #SELECT FLOOR(3.01 ) 结果为3
    MOD()                    取余数(取模)
    #SELECT 5.3 MOD 3;  结果为2.3 等价于 5%3
    POWER()                幂运算
    #SELECT POWER(3,2); 结果为9
    ROUND()                四舍五入
    #SELECT ROUND(3.132432); 结果为3
    TRUNCATE()           数字截取
    #SELECT TRUNCATE(125.89,0)  结果为125  截取不做四舍五入操作
    [NOT] BETWEEN ... AND ...   (不)在多少与多少之间的范围
    [NOT] IN()                            (不)在列出值的范围内 
    IS [NOT] NULL                      (不)是空吗? 
     
    6-3日期时期函数
    NOW()                        当前的日期和时间
    CURDATE()                 当前的日期
    CURTIME()                  当前的时间
    DATE_ADD()               日期变化
    #SELECT DATE_ADD('2015-3-12',INTERVAL -365 DAY); 日期减少365天
    #SELECT DATE_ADD('2015-3-12',INTERVAL 3 WEEK);    日期增加3周
    DATEDIFF()                 日期差值
    #SELECT DATEDIFF('2013-3-12','2014-3-12'); 计算日期的差值
    DATE_FORMAT()        日期格式化
    #SELECT DATE_FORMAT('2013-3-12','%m/%d/%Y');   把日期格式变为 3/12/2013
     
    6-4 信息函数
    CONNECTION_ID()               连接ID
    DATEBASE()                          当前数据库
    LAST_INSERT_ID()                 最后插入记录的ID号  多条数据同时插入,只打印第一条
    USER()                                   当前用户
    VERSION()                            版本信息 
    6-5 聚合函数
    AVG()                   平均值
    COUNT()              计数
    MAX()                  最大值
    MIN()                   最小值
    SUM()                  求和
    6-6 加密函数
    MD5()                         信息摘要算法
    #SELECT MD5('admin')
    PASSWORD()             密码计算
    #主要用来修改密码  SET PASSWOER=PASSWORD('admin')  
  • 相关阅读:
    静态区,堆,栈
    C语言位操作
    引用形参
    联合体/共同体 union
    typedef的使用
    有源晶振和无源晶振
    什么是SMT钢网
    点名游戏~自己先作
    我同学——应聘阿里巴巴之经过
    阳光明媚的一天~|~
  • 原文地址:https://www.cnblogs.com/wyf-349/p/5434458.html
Copyright © 2020-2023  润新知