在vfp6.0中,通配符有两种,一种是“*”表示任何一串字符,还有一种是“?”,表示任何一个字符。
在sql查询语句中有时用到模糊查询。格式为:<属性名>
like
<字符串常量>
属性名必须为字符型。例如:查询某班所有姓张的同学
select
*
from
student
where
姓名
like
'张%'
这儿必须用“like”,所以一楼是错的
%表示任意长度的字符
_表示一个字符
set
@sql
=
'select
BMH,BMH
from
cwbackup.dbo.cbm
where
TZ=45
and
BMH
like
''8'%'';
检查是不是
单引号
写错了
问题补充:谢谢了啊,我在书了看到这么一句select * from course where cname like '______'(六个_) and not cname like '_____'(不知道是几个_) order by cname,请各位高手指教要几个_,为什么??
---------------------
and not cname like '_____'(不知道是几个_)
这一句条件是多余的(5个字符)
条件1是用6个字符,条件2可改为"_____a',6个字符不包括以a结尾的
楼主的写法正确,没问题
这样看看显示个数
select *,len(cname) as 测个数
from course
where cname like '______'(六个_)
order by cname
写法是对的`应该你的记录里是有空格的吧
可以用ltrim(rtrim()) 语句把空格先清掉