主题:[讨论]各位朋友请留步。数据查询问题.
gezhenqiang
[专家分:300] 发布于 2008-07-02 18:07:00
我想从数据库里查询价格为20.5的汽车?如何查价格字段类型为字符类型!如数据记录一 奔驰 优惠价:20.5万 记录二 宝马 友情价:600英磅!
优惠价:20.5万和友情价:600英磅都是价格字段的内容?请问如何才能实现把20.5的汽车找出来!要精确查询!120.5的汽车不算。不知道怎么样的sql语句能实现该查询!望哪个朋友能支招!谢谢!!!数据库是sql 2000
最后更新于:2008-07-02 18:12:00
回复列表 (共7个回复)
沙发
gezhenqiang [专家分:300] 发布于 2008-07-03 15:28:00
自己顶一下!
板凳
LuckyLine [专家分:1940] 发布于 2008-07-03 16:51:00
select * from TableName where 价格 like '20.5%'
看错了,你的数据是连在一起的。似乎有点难度。
应该多设几个字段呀,否则编程很麻烦的。
//4楼的好
3 楼
gezhenqiang [专家分:300] 发布于 2008-07-03 17:50:00
是有难度啊!!!哪位高手有没有好办法!设多段的话,不方便客户操作!
再顶一下,看有没有谁有好方法!谢谢各位!
4 楼
tianyu123 [专家分:2570] 发布于 2008-07-03 18:51:00
select * from TableName where 价格 like '%:20.5万%'
5 楼
gezhenqiang [专家分:300] 发布于 2008-07-04 09:04:00
楼上的,不是固定的:20.5万这种格式!也可能的优惠价20.5元!可能20.5前有:也可能没有!后面然万也是可能是万,也可能什么都不是!但完整数字必然出现一次!
6 楼
gezhenqiang [专家分:300] 发布于 2008-07-04 09:08:00
就是要把20.5前后不是数字的记录的价格取出!后台客户填写一定会填写一个数字,且完整数字出现一次!数字前后的字符不确定不固定!
7 楼
tianyu123 [专家分:2570] 发布于 2008-07-04 18:26:00
set rs=server.createobject("adodb.recordset")
sql="select * from (select * from TableName where 价格 like '%20.5%') where isnumeric(mid(价格,instr(价格,'20.5')+4,1))=false"
rs.open sql,conn,1,1
do while not rs.eof
'下面输出时再加个判断即可
if isnumeric(mid(rs("价格"),instr(rs("价格"),"20.5")-1,1))=false then
'输出内容
end if
rs.movenext
loop
我来回复