设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 861|回复: 0
打印 上一主题 下一主题

[Access本身] 关于update的更新条件问题

[复制链接]
跳转到指定楼层
1#
发表于 2004-7-31 19:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问,以下SQL代码为什么不对?

update sl

set 字段12 =

  case

    when 字段9 >=99.9  and  字段10<0.7  and  字段11 ='<.0020' or cast(字段11 as float) <0.05 and  (字段9 +字段10 +iif(字段11='<.002.',0.002,cast(字段11 as float))<= 0.1 then  'al99.90'

    when 字段9 >=99.70  then  'al99.70‘

end

我经过测试,发现是iif函数有问题。以上代码的意思是:当字段9、10、11满足一定的条件既:字段9 >=99.9  字段10<0.7  字段11 <0.05  而且字段10、11之和小于等于0.1时,字段12更新为 al99.70  。其中字段9、10为 float型,字段11因为一般情况下小于0.002,在表中显示为<.0020 。所以将其定义为varchar。但字段11条件为:不能大于0.05。所以当字段10>=0.0020时,将其转成float型。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-10-4 04:16 , Processed in 0.089577 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表