[{"id":"840f0737-df1d-47ae-bb0a-359b01fe0608","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5d9cdef-8854-4505-89be-a2bbc3cb4482","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3dc3dd55-35b0-4d23-bf62-47bc3650e4ee","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"80d84fbc-d0f8-4e4a-947f-e3e4de9b49b2","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"9152b7ca-0186-4fe3-a26f-5a05f322db07","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
流程函数用于控制表达式的计算过程。
以第一个参数为索引,返回后续参数中的一个。例如Choose(1,"a","b")返回字符串"a"。
最常用的流程函数,根据第一个参数的结果逻辑值(真/假),返回第二个或第三个参数的值。
语法形式:IIf(expr, truepart, falsepart)
参数描述:
expr:必要参数。用来判断真伪的表达式。
truepart:必要参数。如果 expr 为 True,则返回这部分的值或表达式。
falsepart:必要参数。如果 expr 为 False,则返回这部分的值或表达式。
IIF往往配合判断函数使用,例如:{IIF(IsDbNull(搭赠) ,0, 搭赠)} 可实现字段值为NULL时显示0的效果。
返回一个字符串,表示一个指定数值,出现在一个系列值中的哪一个区段。
语法形式:Partition(number, start, stop, interval)
参数描述:
number:必要参数。整数,在所有范围中判断这个整数是否出现。
start:必要参数。整数,数值范围的开始值,这个数值不能小于 0。
stop:必要参数。整数,数值范围的结束值,这个数值不能等于或小于 start。
interval:非必要参数。整数,数值范围的步长值。
比如Partition(230,1,1000,100) 返回字符串"201:300"。其含义是:从1开始至1000为止,每隔100为一个区间,230落在201-300这个区间内。
计算一组表达式列表的值,然后返回与表达式列表中最先为真的表达式所相关的数值或表达式。
语法形式:Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]])
参数描述:
expr:必要参数。要加以计算的表达式。
value:必要参数。如果相关的expr表达式结果为真,则返回此部分的数值或表达式。
例如:
Switch( 月份 <4,1,月份 <7,2,月份<10,3,1=1,4)
可用于根据月份字段值,返回季度序号。
下面是一个更复杂的Switch函数示例:
Switch(
@period=0,Today()
,@period=1,DateAdd("d",1-weekday(Today(),2),Today())
,@period=2,DateValue(Year(Today()) + "-" + Month(Today()) + "-01")
,@period=3,DateValue(Year(Today()) + "-" + Switch( Month(Today())<4,1, Month(Today())<7, 4, Month(Today())<10, 7, Month(Today())>=10, 10) + "-01")
,@period=4,DateValue(Year(Today()) + "-" + Switch( Month(Today())<7,1, Month(Today())>=7, 7) + "-01")
,@period=5,DateValue(Year(Today()) + "-01-01")
).ToString("yyyy-MM-dd")
这是为了实现一种不同统计周期的需求:当天、本周、当月、本季度、半年、本年,选择不同的统计周期时,查询起始日期随之不同。