Express-学习之路 17,mysql-函数的操作

225 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情

Express-学习之路 17,mysql-函数的操作

引言

本系列会以我的一个理解,来介绍并开始学习 Express

中间会插入自己所联系到的 乱七八糟 的 知识点

函数

我们在使用 sql 语句处理 mysql 表的数据时,可以对此时的数据进行处理

字符串函数

  • concat(a1,a2) 拼接

  • lower(a1) 全部转小写

  • upper(a1) 全部转大写

  • lpad(str,n,pad) 对字符串 str 进行左填充 字符串 pad,致使 str 的长度 === n

  • rpad(str,n,pad) 对字符串 str 进行右填充 字符串 pad,致使 str 的长度 === n

  • trim(str) 去掉 字符串的 头 和 尾 空格。

  • substring(str,start,n) 返回字符串 str,从 start 位置开始,n 个长度的字符串。

    • 这里有个 注意点,str 的下标是从1开始的。
    substring('string',1,3) === 'str'
    

数值函数

  • ceil(x) 向上取整

  • floor(x) 向下取整

  • mod(x,y) 返回x/y 的余数

    相当于js中的 3%5 = 37%5 = 2

  • rand() 0~1的随机数

  • round(x,y) x四舍五入,保留y个小数点

日期函数

  • curdate() 当前日期

  • curtime() 当前时间

  • now() 当前日期和时间

下面的 注意 date 是一个日期值,不是字符串。

  • year(date) 获取指定 date 的年份

  • month(date) 获取指定 date 的月份

  • day(date) 获取指定 date 的日份

  • date_add(date, interval expr type)

    • 这个 date 代表的是,某个时间

    • interval 关键字

    • expr 我们指定的时间 间隔(数字)

    • type 时间单位 (year,month,day)

    // 从今天开始,后10天,是几号
    date_add(now(), interval 10 day)
    
  • datediff(date1,date2) date1 的时间 与 date2 之间的天数

    这个天数值,可能为负数

     value = date1 - date2
    

流程函数

  • if(value, a1, a2) 如果 value 为 true,则返回a1,否则返回a2

    相当于 js 中的 val = value?a1:a2

  • ifnull(value1,value2) 如果value1 不为 null,则返回 value1,否则返回value2

  • case ... when ... then ...else ... end

    相当于 js 中的 switch 语句

    • a1 是表中某个字段

    • 如果 aaa 为true,则返回 bbb,

    • 如果 ccc 为true,则返回 ddd,

    • 否则 返回 fff

    case a1 when aaa then bbb when ccc then ddd else fff end
    

总结

学习了 mysql 数据库中 函数的一些操作方法。