NutzCN Logo
问答 这样写对吗:cnd.and(Cnd.exps("enableAmount", "is", "null").or("enableAmount","=","0"));
发布于 2985天前 作者 ecoolper 2045 次浏览 复制 上一个帖子 下一个帖子
标签:

这样写对吗?

               Cnd cnd = Cnd.NEW();
		cnd.and("validState", "=", 1);
		cnd.and(Cnd.exps("enableAmount", "is", "null").or("enableAmount","=","0"));
7 回复

想表达的意思是:validState =1 and (enableAmount is null or enableAmount =0)

执行下看打印的sql日志

看样子是可以的

搞定了,打印sql用cnd.toString()
cnd.and("validState", "=", 1);
cnd.and(Cnd.exps(new Static("enableAmount is null or enableAmount=0")).or("enableAmount","<=",enableAmount));
表示的sql语句是:validState =1 and (enableAmount is null or enableAmount =0 or enableAmount <=具体值)

顶楼那个应该也可以 只需要把 null 和 0 的引号去掉吧,Static是万能的

nutz太牛逼了,必须大力推广!

试过了,这样也可以

cnd.and(Cnd.exps("enableAmount", "is", null).or("enableAmount","=",0).or("enableAmount","<=",enableAmount));
添加回复
请先登陆
回到顶部