mysql - MySql 使用 Where 子句过滤枚举值
问题描述
在数据库中,我有 enum 列,我在其中存储这些值:
ClassName
----------------------------------
Page
DFM\BlogCategory
DFM\BlogPage
DFM\HomePage
DFM\PostPage
DFM\Product
DFM\ProductCategory
DFM\ShopPage
SilverStripe\ErrorPage\ErrorPage
当我尝试显示所有行时,WHERE ClassName='DFM\Product'
我得到 0 个结果。但是 tere 是 3 条记录。当我尝试WHERE ClassName='Page'
这项工作时。
为什么当我以格式在 WHere 子句值中传递值时,namespace
我没有得到结果?
解决方案
检查\是否有问题或尝试使用该功能trim
,replace
记录中可能有空格。
例子:
WHERE trim(ClassName)='DFM\Product'
或者
WHERE REPLACE(ClassName,' ','')='DFM\Product'
WHERE REPLACE(ClassName,'\','')=Replace('DFM\Product','\','')
推荐阅读
- spring-boot - SpringBoot/Angular 应用程序中的访客模式
- wildfly-18 - Wildfly-18 中打开的文件描述符过多
- sql - 如何使用sql查询在给定开始时间和结束时间的情况下查找骑行的持续时间
- php - Symfony 5嵌入形式不持久外键
- c - 为什么在 C 中 2 个线程的执行比 1 个线程的执行慢?
- node.js - 等待中的意外保留字-希望对现有答案进行澄清
- flutter - 将 FutureProvider 变成 Provider
- javascript - Intl.NumberFormat.prototype.format() 中的默认舍入策略
- nginx - 长 URL 适用于 Python 请求,但不适用于 CURL 或 Web 浏览器 (nginx-uwsgi-django)
- angular - 角拦截器挂起