发表于: 2017-05-09 22:38:12
2 1282
今天完成的事情:
1,
- 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。
--比如说,下面这段SQL,你永远无法得到“第二类”这个结果
CASE WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a') THEN '第二类' ELSE'其他' END
mysql 行专列
用条件函数区分
- 老大让把修真院的开发环境的邀请码更新上,线上环境有的没有,先在开发环境测试。
UPDATE `user` SET invitation_code = CONCAT(SUBSTR(CURDATE()+0,5),ROUND(RAND()*10000))WHERE invitation_code IS NULL
主要是用到了时间函数和随机数,curDate()的函数形式是:2017-05-09,但是我们需要的是:0509+四个随机数。时间函数+0就可以表示成:20170509,用字符串函数取最后4位。
但是真正应用到环境里面的结果是:有的数字位数变短了,根据老大的提示:看有没有主键冲突,所以我认为是四位数字最多9999,但是我们的人数是一万+,所以会出现位数变少的情况。
生成固定位数的方法:
- ROUND(RAND()*9000+1000) 把上面的修改一下
2. 把能整合的sql进行整合
明天计划的事情:
1.demo
遇到的问题:
收获:
评论