• mysql详解6:字符串函数 日期函数 IF CASE


    select ROUND(5.73,2) 四舍五入 select ROUND(5.45,1) 5.5
    select TRUNCATE(5.7345,2) 保留两位小数 select TRUNCATE(5.45,1) 5.4
    select CEILING(5.2) 取大于等于的最近整数 6
    select FLOOR(5.2) 取小于等于的最近整数 5
    select ABS(-5.2) 取绝对值
    select RAND() 0和1之间的随机值

    select ROUND(rand()*(max-min)+min) 取指定范围的随机数
    select FLOOR(rand()*(max-min)+min) 取指定范围的随机整数

    字符串函数
    UPPER() LOWER()
    SELECT LTRIM(" SKY") 去除前面多余空格
    SELECT TRIM(" SKY") 去除多余空格
    select LEFT("SKYTTT",3) 截取前面几个 SKY
    select RIGHT("SKYTTT",3) 截取后面几个 TTT
    select substring("SKYTTT",3) 从第三个开始截取剩下的全部 YTTT
    select substring("SKYTTT",3,2) 从第3个截取2个
    select LOCATE("N","kindefgaten") 3 从字符串中搜索指定字母的位置 第一个n的位置为3 如果没有返回0
    select REPLACE("kindergaten","gaten","gaden") 替换字符串中的部分
    select CONCAT("FIRST","last") 连接字符串

    日期函数
    SELECT NOW(), CURDATE(), CURTIME()
    2021-06-18 13:26:28 2021-06-18 13:26:28
    当前时间 当前日期 当前时分秒
    SELECT Year(Now()) 当前年份
    SELECT MONTHnAME(Now()) 当前月份名字
    SELECT EXTRACT(DAY FROM Now()) 18
    例:
    SELECT *
    FROM orders
    where YEAR(order_date) >=YEAR(NOW())

    格式化日期和时间
    select DATE_FORMAT(NOW(),'%M %d %Y')
    June 18 2021
    select DATE_FORMAT(NOW(),'%H: %i %p')
    14: 08 PM
    计算日期和时间
    SELECT DATE_ADD(NOW(),INTERVAL 1 YEAR) 增加1年
    SELECT DATEDIFF('2019-01-05 09:00','2019-01-01 17:00') 前面的减去后面的
    SELECT TIME_TO_SEC('09:02')-TIME_TO_SEC('09:00') 120 按照0点开始的秒数计算


    IFNULL
    select
    order_id,
    IFNULL(shipper_id,'Not assighed') as shipper
    from orders 如果是空就会返回预设的值

    COALESCE
    select
    order_id,
    COALESCE(shipper_id,comments,'Not assighed') as shipper
    from orders 如果为空,返回预设值,如果预设值为空,返回未分配

    IF函数
    select
    order_id,
    order_date,
    IF(YEAR(order_date)=YEAR(NOW()),'actice','archived')
    from orders
    如果满足条件 返回active 否则archived


    case函数
    select
    order_id,
    case
    when YEAR(order_date) =Year(NOW()) THEN 'ACTIVE'
    when YEAR(order_date) =YEAR(NOW()) -1 THEN "LAST YEAR"
    when YEAR(order_date) <YEAR(NOW()) -1 THEN 'Archived'
    ELSE 'future'
    end as category
    from orders

    SELECT CONCAT(first_name,'',last_name) as customer,
    points,
    case
    when points>3000 then 'gold'
    when points>=2000 then 'silver'
    else 'Bronze'
    end as category
    from customers

  • 相关阅读:
    SQL Server 添加数据库没有权限等
    网站图片优化的重要性与技巧方案
    5年前端经验小伙伴教你纯css3实现饼状图
    css3 斜切角/斜边的实现方式来自BAT大神的出品
    Validate表单验证插件之常用参数介绍
    html实现邮箱发送邮件_js发送邮件至指定邮箱功能
    css重设样式_清除浏览器的默认样式
    大厂前端工程师教你如何使用css3绘制任意角度扇形+动画
    WordPress教程之如何批量删除未引用(无用)的TAG标签
    css引入的方式有哪些_四种css的引入方式与特点
  • 原文地址:https://www.cnblogs.com/yxj808/p/15080678.html
Copyright © 2020-2023  润新知