注册 登录
编程论坛 ASP技术论坛

[求助]查询时如何指定第二个字符不为p

dushui265 发布于 2007-10-30 09:19, 453 次点击

我做了个模糊查询,
select * from table1 where type like 'T%'
现在需要指定T后的一个字符不为P,也就是查询出来的结果不是以TP开头的,
如何修改啊?

5 回复
#2
purana2007-10-30 09:47
select * from T where substring(value,1,1)<>'T' and substring(value,2,1)<>'P'

select * from T where left(value,2)<>'TP'

select * from T where charindex('TP',value)<>1

select * from T where value not like 'TP%'

[此贴子已经被作者于2007-10-30 9:47:58编辑过]

#3
dushui2652007-11-01 10:32

可以这样写吗,
select * from T where value like 'T%' and value not like 'TP%'

#4
madpbpl2007-11-01 11:28
以下是引用dushui265在2007-11-1 10:32:24的发言:

可以这样写吗,
select * from T where value like 'T%' and value not like 'TP%'

个人感觉这种写法怪怪的,楼主的意思只要满足前两位不是TP即可。
写成这样不就可以了
select * from T where value not like 'TP%'
感觉楼主的写法有点画蛇添足的感觉。

#5
dushui2652007-11-02 19:06

哦,我的意思可能你没有明白,我是查询出以T开头并且第二个字符不为P的记录,
那样写可以实现,谢谢楼上了

#6
madpbpl2007-11-02 22:26
以下是引用dushui265在2007-11-2 19:06:10的发言:

哦,我的意思可能你没有明白,我是查询出以T开头并且第二个字符不为P的记录,
那样写可以实现,谢谢楼上了

是我理解错误,抱歉!

1