LIKE 查询的问题

yumanqing 2009-09-17 10:21:35
关于like 查询匹配的问题(sql server 2000)
问题如下:
我数据中假如cName 列存储有 谢家涛,谢家涛1,()谢家涛,谢家涛(),等等内容,我现在导入数据的时候要给用户提示,假如我导入数据中有 谢家涛7, 谢家涛2...等等包含谢家涛的内容,注意(谢家涛)只是举例,也可能是一个公司名字等,我该怎么写查询语句呢:

SELECT * FROM Customer
WHERE cName like '%谢家涛7%'

我这样写不能行?谢谢,在线等.....
...全文
284 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
denisandccc 2009-09-19
  • 打赏
  • 举报
回复
嗯,来学习啦~~~~~~~
ICrazyBoy 2009-09-19
  • 打赏
  • 举报
回复
like 前面加个N就好了 把中文字符转换下字!N'%谢家涛%'
sharon8259 2009-09-19
  • 打赏
  • 举报
回复
不太懂LZ想要的结果
zhengduan964532 2009-09-19
  • 打赏
  • 举报
回复
SELECT * FROM Customer 
WHERE cName like '%谢家涛[0-9]%'

可以实现的吧
lg314 2009-09-19
  • 打赏
  • 举报
回复
这个就是搜索引擎的技术了,首先要分词

谢家涛0要分成 谢家涛或者0

select * from Customer where cname like '%谢家涛%' or cname like '%0%'

这样的搜索出来的结果很多,还要排序........
q85958341 2009-09-19
  • 打赏
  • 举报
回复

like '%谢家涛%'

alonso_hu 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 hansuzhi 的回复:]
SELECT * FROM Customer
WHERE  charindex('谢家涛', cName)>0
[/Quote]


up
zhangyanyang 2009-09-18
  • 打赏
  • 举报
回复
搞不好,到前台用正则算了
zlcqupt 2009-09-18
  • 打赏
  • 举报
回复
yumanqing 2009-09-17
  • 打赏
  • 举报
回复
不是我家0实际情况就是这样的,怎么才能查出来呢?
MJunnnn 2009-09-17
  • 打赏
  • 举报
回复
要使用google中文搜索技术了
华夏小卒 2009-09-17
  • 打赏
  • 举报
回复
要加0干嘛


加了0当然不能查出所有的带‘谢家涛’的记录啦
yumanqing 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 htl258 的回复:]
引用 10 楼 yumanqing 的回复:
不好描述,是这样的假如
我查询
like like '%xx谢家涛xx%' 能查询出
谢家涛,
谢家涛1,
()谢家涛,
谢家涛()
谢家涛7,
谢家涛2
等等...


用 like '%谢家涛%' 为什么不行了,说下理由先?
[/Quote]

用 like '%谢家涛0%'
就不行的
qq82296344 2009-09-17
  • 打赏
  • 举报
回复
都说很清楚了,自己试试 啥都知道了
htl258_Tony 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 yumanqing 的回复:]
不好描述,是这样的假如
我查询
like like '%xx谢家涛xx%' 能查询出
谢家涛,
谢家涛1,
()谢家涛,
谢家涛()
谢家涛7,
谢家涛2
等等...
[/Quote]

用 like '%谢家涛%' 为什么不行了,说下理由先?
yumanqing 2009-09-17
  • 打赏
  • 举报
回复
能查出部分,
是太智能了,但这确实是需求,我怎么觉得好像有点像搜索引擎,呵呵
--小F-- 2009-09-17
  • 打赏
  • 举报
回复
仿佛你自己的能查出来啊
dawugui 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 yumanqing 的回复:]
关于like 查询匹配的问题(sql server 2000)
问题如下:
我数据中假如cName 列存储有 谢家涛,谢家涛1,()谢家涛,谢家涛(),等等内容,我现在导入数据的时候要给用户提示,假如我导入数据中有 谢家涛7, 谢家涛2...等等包含谢家涛的内容,注意(谢家涛)只是举例,也可能是一个公司名字等,我该怎么写查询语句呢:

SELECT * FROM Customer
WHERE cName like '%谢家涛7%'

我这样写不能行?谢谢,在线等.....
[/Quote]这个太智能了,难搞.
华夏小卒 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 htl258 的回复:]
SQL codeSELECT*FROM CustomerWHERE cNamelike'%谢家涛[0-9]%'这样?
[/Quote]

是可以的

如果是不想 谢家涛后面带7或2的

SELECT * FROM Customer WHERE cName not like'%谢家涛[27]%'
yumanqing 2009-09-17
  • 打赏
  • 举报
回复
不好描述,是这样的假如
我查询
like like '%xx谢家涛xx%' 能查询出
谢家涛,
谢家涛1,
()谢家涛,
谢家涛()
谢家涛7,
谢家涛2
等等...
加载更多回复(16)

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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