关于like 查询匹配的问题(sql server 2000)
问题如下:
我数据中假如cName 列存储有 谢家涛,谢家涛1,()谢家涛,谢家涛(),等等内容,我现在导入数据的时候要给用户提示,假如我导入数据中有 谢家涛7, 谢家涛2...等等包含谢家涛的内容,注意(谢家涛)只是举例,也可能是一个公司名字等,我该怎么写查询语句呢:SELECT * FROM Customer
WHERE cName like '%谢家涛7%'我这样写不能行?谢谢,在线等.....
问题如下:
我数据中假如cName 列存储有 谢家涛,谢家涛1,()谢家涛,谢家涛(),等等内容,我现在导入数据的时候要给用户提示,假如我导入数据中有 谢家涛7, 谢家涛2...等等包含谢家涛的内容,注意(谢家涛)只是举例,也可能是一个公司名字等,我该怎么写查询语句呢:SELECT * FROM Customer
WHERE cName like '%谢家涛7%'我这样写不能行?谢谢,在线等.....
WHERE cName like '%谢家涛%'
?
WHERE cName like '%谢家涛[0-9]%' 这样?
WHERE cName like '%谢家涛%'
?提示和谢家涛有关的记录存在?
WHERE cName like N'%谢家涛7%'
WHERE cName like N'%谢家涛7%'
WHERE patindex('%谢家涛%', cName)>0
我查询
like like '%xx谢家涛xx%' 能查询出
谢家涛,
谢家涛1,
()谢家涛,
谢家涛()
谢家涛7,
谢家涛2
等等...
是可以的如果是不想 谢家涛后面带7或2的SELECT * FROM Customer WHERE cName not like'%谢家涛[27]%'
用 like '%谢家涛%' 为什么不行了,说下理由先?
用 like '%谢家涛0%'
就不行的
WHERE charindex('谢家涛', cName)>0
就跟谢家涛有关的七七八八东东西西全部查出来了,楼主到底还想要什么呢,何不试试或讲清楚些呢???
SELECT * FROM Customer
WHERE cName like '%谢家涛[0-9]%'
WHERE cName like '%谢家涛[0-9]%' 可以实现的吧