可能是匹配符的原因吧,在SQL Server中匹配符是%不是*。
SQL语句改为:Select * from HotelTab Where HotelName Like '%山东%'
同样的还有日期的问题等,不同的数据库有不同的规定,也可以叫做“方言”吧。写程序要根据不同的数据库查询一下他们的“方言”如何,来使用SQL语句。
select * from HotelTab where hotelname like '*山东*'
使用Instr改造为
select * from HotelTab where instr(1,hotelname,"山东")>0
其中Hoteltab为数据库表名,hotelname为字段名
本意是找出所有包含“山东”省的酒店名称,却返回一堆不包括山东字样的记录
如果用select * from HotelTab where hotelname like '*东*',甚至会将
全英文的hotelname传过来,实在恐怖