PQL 快速入门
PQL基础
数据流转
输出文件
PQL 中的语句
分支和循环
更优雅的数据操作
PQL 高级特性
系统函数
自定义函数
扩展操作
其他语言相关
附录
在数据开发过程中,控制语句用得相对比较少,因为 SQL 中的WHERE
条件已经完成了大部分的工作。PQL 提供了与 PL/SQL 一样条件判断语句 IF 和 CASE,这里先看 IF 语句。
上例通过条件判断进行WHERE
条件式的拼接,最后将条件式应用到 SELECT 语句进行查询。几点注意事项:
THEN
后不加分号,虽然加分号也不会出错。THEN
或ELSE
后面要有至少一条语句,如果确实什么都没有,请输入ECHO;
占个位置。ELSIF
不能写成ELSE IF
。END IF
后面必须加分号,表示 IF 语句结束。ELSE
不是必需的。ELSIF
也不是必需的。IF
和THEN
之间是条件判断的内容,详见条件表达式。上例中,变量$where
加叹号!
是因为将字符串变量嵌入到 SQL 语句中时一般要忽略类型,如果不加叹号,得到的结果可能是SELECT * FROM students WHERE '1=1'
而不是SELECT * FROM students WHERE 1=1
。详见用户变量或完整的嵌入规则表。
在条件语句中可以使用 Sharp 表达式先对要比较的值进行运算,但必须使用嵌入语法。
除了上述的完整的 IF 语句之外,IF 语句还有另一种形态,称为 IF短语句。IF 短语句不能独立存在,必须集成在语句中,比如 SET 语句的右侧赋值表达式,或嵌入 Sharp 表达式等。
再如:
与 IF 语句的区分主要有:
END
结尾。THEN
或ELSE
后面不是语句,是单个值,而且后面不能加分号。ELSE
部分必须有。THEN
或ELSE
后面可以写一条语句,但必须用小括号括起来,且不能加分号。如上例,IF 短语句运算完成后返回一个数据表,而且可以继续通过 Sharp 表达式继续运算。
参考链接