tp5.1 mysql 中数据字段存储成varchar 与数据比较
二次开发 今天检索用户中age字段 查找年龄小于50的 用navicat中的筛选 筛选不出来
![67ed6be4bee70a61b3531f61b4083e86.png](https://i-blog.csdnimg.cn/blog_migrate/1a730bd359b6c5a373ef0223c9f6438c.jpeg)
查看字段类型是varchar类型 心中顿感疑惑 不知道当时为啥这么设计........ 但也不能直接修改字段类型 否则年龄就全乱了 谨记!!!!
可以用 CONVERT USING 对指定列 进行 转码
SELECT
user_id,
age,
identity_number
FROM ys_user_yuesao
WHERE
identity_number <> ''
AND CONVERT ( age USING utf8 )< 100
ORDER BY id asc
LIMIT 0,100;
tp5.1中使用
db('user_yuesao')
->where('identity_number', 'neq', '')
->where('CONVERT ( age USING utf8 )<100')//此处注意
->field('user_id,identity_number,age')
// ->limit(20,10)
->order('id', 'asc')
->select();