sql语句中查找某字段中含有某字符串的语句怎么写?

改表中的文件名filename字段中有很多记录是乱码的。有很多?????。
现在我要查找出所有filename中含有?的记录出来,只要含有?,不管是一个?还是多个?。都查找出来。
于是写了以下sql:
select filename from oa_file where filename like '%?%';
结果查出来的结果不符。只有含有一个"?"的可以查出来。请问怎么写呢?
上午解决了。原来数据库中很多?是中文的?问号。。。
我写成这样就ok了。
select * from oa_file where filename like '%??%';
谢谢大家!!!!

第1个回答  2008-11-12
本身就是乱码的,匹配不上的
第2个回答  2008-11-12
是对的吧,我试了下是OK的啊
第3个回答  2008-11-12
语句没问题
还是乱码的问题吧
乱码的编码类型不一样。
看似非是
第4个回答  2008-11-12
你是用的sqlserver数据库?还是其他的?
第5个回答  2008-11-12
写法是对的啊。

你不是说是乱码才显示成?的嘛,但对于数据库来说不是?咯。