SELECT
dbo.ca_hr_perinfo.perid,
dbo.ca_hr_peredu.name,dbo.ca_hr_perinfo.birth,dbo.ca_hr_perinfo.realname,dbo.ca_hr_perinfo.updata,dbo.ca_hr_perinfo.sex,
dbo.ca_hr_peredu.education,
dbo.ca_hr_perinfo.postdate,dbo.ca_hr_peredu.speciality,dbo.ca_hr_perinfo.experience
FROM
dbo.ca_hr_perinfo
left
JOIN
dbo.ca_hr_peredu
ON
dbo.ca_hr_perinfo.perid
=
dbo.ca_hr_peredu.perid
where
dbo.ca_hr_perinfo.status=1
and
(ca_hr_peredu.education
like
'%高中%'
or
ca_hr_peredu.education
like
'%中专%'
or
ca_hr_peredu.education
like
'%大专%'
or
ca_hr_peredu.education
like
'%本科%')
and
ca_hr_perinfo.yyyy
>=
'1'
and
ca_hr_perinfo.yyyy<=
'2'
and
Year(getdate())-left(ca_hr_perinfo.birth,4)
>=
'23'
and
Year(getdate())-left(ca_hr_perinfo.birth,4)
<=
'27'
and
dbo.ca_hr_perinfo.sex
like
'%男%'
and
datediff(day,ca_hr_perinfo.updata,getdate())<'90'
order
by
ca_hr_perinfo.updata
desc
试试,应该是这几个or的问题
like是模糊查询,也是就你输入一个a ,如果数据库中有这其中几项("aaaa","aaabbb","bbaaa")那么查询所返回的数据就是这些里边包含a的数据,而”=“是,你输入a,那么之查询包含a的数据,如果没有匹配a的数据,那么什么也不返回。还有就是1楼的陈述.
至于什么时候用=或者用Like那就看你的具体情况了。一般要求严格的数据就用=,不怎么严格的就like了
Like是模糊查询,是用字符串来处理的
而=就不一样了,你数据库的字段是什么类型就是什么类型,除非你用转换函数先转换,不然一定要一致才行