时间:2021-07-01 10:21:17 帮助过:4人阅读
由于这个表没有人的姓名做主键(暂不考虑人名重复),想取出来人名,就只能对remark字段做拆解了。
当然拆解的办法不止一种,我的思路是通过length、left、right三个函数,拆解得出借款人的姓名。
具体思路就是,通过left先取出不含“借款”的字符串str_l,再通过right函数对str_l去除"付"字。那么就得到了中间的名字了。
然后我写的代码是:
-- 注意:这是错误写法!!! select jk.id,jk.amount,jk.remark, left(jk.remark,length(jk.remark)-2) as ‘左边‘,# 去掉“借款”2字 right(jk.remark,length(jk.remark)-1) as ‘右边‘,# 去掉“付”字 right( left(jk.remark,length(jk.remark)-2), length(left(jk.remark,length(jk.remark)-2))/3-1 ) as name from jk;
看上去好像没毛病,先取长度,“借款”是两个字,所以减2;“付”是一个字,所以减1。菜鸟如我啊~。
然后结果却是吃了一鲸~
mysql 的varchar类型小记
标签:创建 长度 ack html from into weight 9.png es2017