点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在HP-UX上运行ASE 16 SP02 PL03,并尝试以下SQL:
声明@a tinyint
声明@e日期时间
选择@ e = getdate(),@ a = datepart(dw,@ e)
选择@ e,@ a
如果(1,3)中的@a打印"确定"
结果是:
@e @a
2018年10月9日上午10:55:51 NULL/**->空值**/
但是,如果将第3行修改为:
选择@ e = getdate()
选择@ a = datepart(dw,@ e)
结果是:
@e @a
2018年10月9日上午10:56:00 3/*-> *值**/
好
任何已知的行为?
谢谢
致谢
乔斯
嗨,何塞,
SQL独立处理每个子句,就好像它们在并行处理一样。 结果不会从左到右流动,每个子句会看到相同的变量初始值。
在此处记录:
https://help.sap.com/查看器/b65d6a040c4a4709afd93068071b2a76/16.0.3.5/en-US/aa7c9648bc2b1014a8b98802356dfc1d.html
"不要使用单个select语句将值分配给一个变量,然后再分配给基于第一个变量的值。这样做可能会产生不可预测的结果。"
干杯,
-bret
最后一个问题:
如果我使用"错误的语法",可能会影响以下IF条件(应相同)的结果:
如果@var in(x,y)
vs
如果@ var =或@ var =
谢谢
Jose
一周热门 更多>