MySQL检索问题

以前是条鱼 2017-06-21 01:48:21
需求是这样,数据库里面有公司名称,公司关键字两个主要字段,例如:腾讯计算机科技有限公司,腾讯。
需求是通过表单提交数据搜索公司,如:输入腾讯计算机科技 可查到数据,而输入科技有限公司等类似的不包含关键字的内容,查不到数据。
这样的sql怎么写。
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-06-21
  • 打赏
  • 举报
回复
引用 5 楼 u014581684 的回复:
SELECT  *
FROM    #T
WHERE   A LIKE '%腾讯计算机科技%'
        AND '腾讯计算机科技' LIKE concat('%',B,'%')
谢谢 解决了![/quote] 结贴
以前是条鱼 2017-06-21
  • 打赏
  • 举报
回复
SELECT  *
FROM    #T
WHERE   A LIKE '%腾讯计算机科技%'
        AND '腾讯计算机科技' LIKE concat('%',B,'%')
[/quote] 谢谢 解决了!
以前是条鱼 2017-06-21
  • 打赏
  • 举报
回复
SELECT  *
FROM    #T
WHERE   A LIKE '%腾讯计算机科技%'
        AND '腾讯计算机科技' LIKE concat('%',B,'%')
[/quote] MySQL
二月十六 2017-06-21
  • 打赏
  • 举报
回复
引用 2 楼 u014581684 的回复:
不是很理解,MySQL 可以使用LIKE '%' + B + '%'这种语法吗
额,mysql好像得这么写,试试
SELECT  *
FROM    #T
WHERE   A LIKE '%腾讯计算机科技%'
        AND '腾讯计算机科技' LIKE concat('%',B,'%')
以前是条鱼 2017-06-21
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
--测试数据
if not object_id(N'Tempdb..#T') is null
	drop table #T
Go
Create table #T([A] nvarchar(31),[B] nvarchar(22))
Insert #T
select N'腾讯计算机科技有限公司',N'腾讯' union all
select N'百度科技有限公司',N'科技'
Go
--测试数据结束
--测试1
SELECT  *
FROM    #T
WHERE   A LIKE '%腾讯计算机科技%'
        AND '腾讯计算机科技' LIKE '%' + B + '%'
--测试2
SELECT  *
FROM    #T
WHERE   A LIKE '%百度%'
        AND '百度' LIKE '%' + B + '%'
不是很理解,MySQL 可以使用LIKE '%' + B + '%'这种语法吗
二月十六 2017-06-21
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([A] nvarchar(31),[B] nvarchar(22))
Insert #T
select N'腾讯计算机科技有限公司',N'腾讯' union all
select N'百度科技有限公司',N'科技'
Go
--测试数据结束
--测试1
SELECT *
FROM #T
WHERE A LIKE '%腾讯计算机科技%'
AND '腾讯计算机科技' LIKE '%' + B + '%'
--测试2
SELECT *
FROM #T
WHERE A LIKE '%百度%'
AND '百度' LIKE '%' + B + '%'


22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧