畅想网络是一支年轻的网站设计与开发的精英团队,专业于网站开发、网站建设、网站排名、域名注册与网络服务器租用的互联网企业……

SQL标签中使用条件IF应用技巧

本站原创   2015年11月15日

经常在坛子里看到一些用户对sql标签的条件使用不够了解,导致得不到预期的效果.今天给大家讲一下使用sql标签条件里,需要注意的一些细节问题.

标签格式:

■※■$IF(condition||out1||out2)}

标签说明:当满足 condition 条件,输出out1,否则输出 out2,类似c,c#等语言里的三元运算符a?b:c,需要注意的时每个条件对都必须包含两个||
condition可以是任何支持asp的条件运行符(如=,〉,〈,〉=,〈=,〈〉等)和函数(如datediff,isdate,isarray等)

注意点说明:

  1. 这个标签只能应用于sql标签的循环体中,且不能嵌套,但可以平行出现多对使用

  2. 标签的condition部分必须是严格按照asp的语法书写
    举例说明
     a.如我们希望字段intro(varchar类型)为空时,输出"---",不为空时,原文输出.
      正确写法1:
             "■※■$Field(intro,Text,0,...,0,)}"=""
      正确写法2:
             "■※■$Field(intro,Text,0,...,0,)}"=""

      错误写法1:
            ■※■$Field(intro,Text,0,...,0,)}=""
      错误写法2:
         ■※■ŠField(intro,Text,0,...,0,)}="空"

    关键在于上面加色的双引号是必须的,不能少
    比如intro字段为 "kesioncms",那么我们可以将上面理解为:
     正确写法1:
             "kesioncms"=""
      正确写法2:
             "kesioncms"=""

      错误写法1:
            kesioncms=""
      错误写法2:
          kesioncms="空"
    这样就可以清楚看出,1,2种是正确写法,后面的都是错误的,少了双引号
    再比如intro字段为空时,即没有内容.那么我们可以将上面理解为:

    正确写法1:
             "空"=""
      正确写法2:
             ""=""

      错误写法1:
            空=""
      错误写法2:
          ="空" 

b.如我们希望最最近三天内发布的文章,输出new标签,日期字段为AddDate(datetime类型).
 正确写法1:
         ■※■$IF(datediff("d","■※■ŠField(adddate,Date,YYYY-MM-DD)}",now)<3||new||■※■ŠField(adddate,Date,MM-DD)})}
错误写法:
         ■※■$IF(datediff("d",■※■ŠField(adddate,Date,YYYY-MM-DD)},now)<3||new||■※■ŠField(adddate,Date,MM-DD)})}
关键还是上面的双引号不能少.假设我们这里的adddate值为2009-3-10号,那么以上就转变为

正确:datediff("d","2009-3-10",now)<3     ---符合asp语法
错误:datediff("d",2009-3-10,now)<3         ---不符合asp语法


经过以上说明,我想你也大概明白了,为什么经常会得不到预期的效果了,特别应该注意的就是第二点条件部分的写法,比较有讲究,如果是文本型字段,我们往往可以加一个"空"字替代,如下图

更多资讯请关注公司网址:http://www.jccxwl.com

关于畅想服务范围套餐标准询求提交联系我们网站地图百度新闻维护工单技术交流
Copyright 2009-2015 Powered by Jccxwl.COM All Rights Reserved.
鄄城畅想网络科技有限公司 版权所有
鲁公网安备 37172602000001号  鲁ICP备15031242号