-
-
JZbank@111 初学数据Lv2
发表于2021-3-2 09:45
悬赏1
已解决
抱歉,再打扰下,附件为报表外部过滤条件,if后面的条件不是看的太明白,
如果@pd='020' 输出data_dt;
如果@pd='020' 是输出参数@p_y么 后面的ASDATE(STRCAT(@p_y,@@p_q))是什么意思?呢 烦请支持
祝工作顺利 非常感谢

3个回答
asdate()是将数据转换成日期型
strcat是合并串
Strcat
定义:STRCAT(C1,C2,…)
将所有串合并。该合并不受255长度限制
参数:
C1、C2…要合并的字符串
示例:
将所有串合并后,返回一字符串
STRCAT("AB"," CD"," EF")="AB CD EF"
-
JZbank@111 初学数据Lv2
老师 还有个问题 我想在data_dt日期后面再上一个判断条件,if(@od='050',@p_h) 请问这条语句应加在等号后哪里 ,我尝试了下 都报错 无法与函数if需要的参数列匹配?
我添加如下:
DATA_DT=if(@pd='020',@Data_dt,@pd='050',@p_h,if(@pd='040',@p_y,ASDATE(STRCAT(@P_Y,@p_q)))) 这样写对么
JZbank@111 发表于 2021-3-2 10:36
老师 还有个问题 我想在data_dt日期后面再上一个判断条件,if(@od='050',@p_h) 请问这条语句应加在等号 ...
表元表达式中没有这样写的DATA_DT=if(@pd='020',@Data_dt,@pd='050',@p_h,if(@pd='040',@p_y,ASDATE(STRCAT(@P_Y,@p_q))))
直接写if然后根据条件返回值就行