MySQL语句中判断(字段值是否为0)不是的话...

MySQL语句中判断(某字段值是否为0)不是的话就 WHERE 中添加条件 某字段值<time()
比如:错误语句,但是容易理解
$f_item_select = "SELECT * FROM `pre_common_block_item` WHERE bid=4 if(panduanziduan!=0) panduanziduan<time() end if ORDER BY displayorder ASC LIMIT 0,5;";

急急急,分数不是问题,可追加!
好心人,帮个忙

写入“select * from pre_common_block_item where bid = 4 and case when panduanziduan!=0 then panduanziduan<time() else 1 end order by displayorder ASC LIMIT 0,5”运行即可。

MySql的核心

MySql是一个快速、多线程、多用户的SQL数据库服务器,其出现虽然只有短短的数年时间,但凭借着“开放源代码”的东风,它从众多的数据库中脱颖而出,成为PHP的首选数据库。除了因为几乎是免费的这点之外,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等都是PHP选择MySql的主要原因。

MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySql能很容易充分利用CPU。 

MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,他们之间所有的口令传送被加密,而且MySql支持主机认证。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-05
写个存储过程判断下
if panduanziduan != 0 then
sql语句
end if;
if panduanziduan = 0 then
sql语句
end if;追问

panduanziduan 是数据中的字段... 你这样的方法就要查询数据然后在来

追答

嗯 先查询出来这个字段再判断 判断里面重新写查询语句

追问

就是闲麻烦才不用这方法的,不过还是谢谢你

第2个回答  2012-11-05
select * from pre_common_block_item where bid = 4 and case when panduanziduan!=0 then panduanziduan<time() else 1 end order by displayorder ASC LIMIT 0,5追问

我试了,不行纳,不知道是不是我写错

追答

语法上,这句话应该不会报错,我测试过的,
不知道panduanziduan<time() 这个条件会怎样。

本回答被提问者采纳
第3个回答  2012-11-05
用case when 嵌套吧。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网