我创建了一个数据表** biz_a_demo**,以下是表记录:
id | t_name | age | del_flag |
---|---|---|---|
1 | 小马 | 19 | |
2 | 小李 | 20 | 1 |
3 | 123小芳 | 20 | 0 |
4 | 0小康 | 20 |
1.int类型
- WHERE del_flag = 0: 明确要求 del_flag 字段的值必须等于 0。只有满足这个条件的记录才会被选取。
- WHERE del_flag: 这个条件会选取 del_flag 字段为 “真” 的记录。在 MySQL 中,非零数值被视为真,零和 NULL 被视为假。所以,这个条件将选取 del_flag 字段不为 0 和不为 NULL 的记录。
select * from biz_a_demo where del_flag
运行结果:
2.varchar类型
使用 WHERE t_name,会过滤出 t_name 列为非空且非零字符串的记录。
示例说明:
- WHERE ‘123小芳’ 会评估为 TRUE,因为 ‘123小芳’ 会被转换成数字 123。
- WHERE ‘小马’ 会评估为 FALSE,因为 ‘小马’ 不能被转换成非零数字,会被视为 0。
- WHERE ‘0’ 会评估为 FALSE,因为 ‘0’ 会被转换成数字 0。
- WHERE ‘0小康’ 会评估为 FALSE,因为 ‘0小李’ 会被转换成数字 0。
select * from biz_a_demo where t_name
运行结果:
我们终其一生,就要摆脱别人的期待,找到真正的自己 --《无声告白》