SQL 查询中枚举类型比较时,为什么使用 = false 无法获取预期结果?
小伙伴们对数据库编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《SQL 查询中枚举类型比较时,为什么使用 = false 无法获取预期结果?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!
对于枚举类型,其索引从 1 开始,而不是 0。在给定的表结构中,“is_svddb_match”枚举的索引如下:
- ‘true’ -> 1
- ‘false’ -> 2
因此,当您使用“= false”比较时,您实际上正在尝试匹配不存在的索引 0。结果集将为空,因为没有行具有索引为 0 的“is_svddb_match”值。
要匹配枚举的实际 ‘false’ 值,您需要使用“= ‘false’”比较。这样,查询将查找索引为 2 的值,即 ‘false’。
在示例中,使用“= 1”比较将返回有“is_svddb_match = ‘true’”值的记录,因为 1 是 ‘true’ 的索引值。
到这里,我们也就讲完了《SQL 查询中枚举类型比较时,为什么使用 = false 无法获取预期结果?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注主机宝贝公众号,带你了解更多关于的知识点!