持续创作,加速成长!这是我参与「掘金日新计划 · 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 = 3 ,7%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 数据库中 函数的一些操作方法。