首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含两个或多个字符的sql名称

包含两个或多个字符的sql名称
EN

Stack Overflow用户
提问于 2016-11-15 03:20:30
回答 2查看 87关注 0票数 3

这是一个学习理智的问题,而不是我需要找到的解决办法。我有一个产品实体,它有一个product_name属性。我想搜索product_name并返回所有在product_name中有超过1 'a‘的产品。我需要帮助来查询这个问题。

此代码显示所有具有“a”的产品

代码语言:javascript
运行
复制
SELECT product_name AS 'Product Names' FROM product WHERE name LIKE '%a%'

但我想要的产品超过1 'a‘。结构:产品

代码语言:javascript
运行
复制
Product(p_Id, product_name, p_cost) 

所以如果我有一个名为“汽车手册”的产品,它会返回,因为有3‘a。请帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-15 03:21:18

查询将类似于:

代码语言:javascript
运行
复制
SELECT product_name AS ProductNames
FROM product
WHERE name LIKE '%a%a%';

不要对列别名使用单引号。最好的方法是给列命名,这样它们就不需要转义了。否则,根据数据库使用回标、双引号或方括号。

票数 3
EN

Stack Overflow用户

发布于 2016-11-15 03:30:13

您可以使用的另一个技巧是删除name列中的所有'a‘字符,然后检查长度是否减少了两个或两个以上:

代码语言:javascript
运行
复制
SELECT product_name AS ProductNames
FROM product
WHERE LENGTH(REPLACE(name, 'a', '')) <= LENGTH(name) - 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40601458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档