USER 函数 当想要定义仅包含包括您的用户标识行的表的受限视图时,使用 USER 函数。有关如何创 建视图的信息,请参阅《GBase 8s 数据库设计和实现指南》和《 GBase 8s SQL 指南:语 法》 中的 GRANT 和 CREATE VIEW 语句。 下列查询返回执行查询的用户的用户名(登录用户名),对表中的每行重复一次。 图: 查询
GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 104 -
SELECT * FROM cust_calls WHERE user_id = USER; 如果当前用户的用户名是 richc,该查询仅检索 cust_calls 表中 user_id = richc 的行。 图: 查询结果 customer_num 110 call_dtime 1998-07-07 10:24 user_id richc call_code L call_descr Order placed one month ago (6/7) not received. res_dtime 1998-07-07 10:30 res_descr Checked with shipping (Ed Smith). Order sent yesterday-we were waiting for goods from ANZ. Next time will call with delay if necessary
customer_num 119 call_dtime 1998-07-01 15:00 user_id richc call_code B call_descr Bill does not reflect credit from previous order res_dtime 1998-07-02 08:21 res_descr Spoke with Jane Akant in Finance. She found the error and is sending new bill to customer
TODAY 函数 TODAY 函数返回当前系统日期。如果下列查询是在当前系统日期为 1998 年 7 月 10 日 时发出的,它返回这一行。 图: 查询 SELECT * FROM orders WHERE order_date = TODAY; 图: 查询结果 order_num 1018 order_date 07/10/1998 customer_num 121 ship_instruct SW corner of Biltmore Mall backlog n
John Smith 333 Vista Drive Lauren Collier 1129 Greenridge Street Fred Frith NULL Susan Jordan NULL 以下是包括 NVL 函数的一个示例, 该函数为表 address 列包含 NULL 值的每一行返回一个 新值。 图: 查询 SELECT name, NVL(address, "address is unknown") AS address
GBase 8s SQL 指南:教程 南大通用数据技术股份有限公司 - 109 -
FROM student; 图: 查询结果 name address
John Smith 333 Vista Drive Lauren Collier 1129 Greenridge Street Fred Frith address is unknown Susan Jordan address is unknown 可以为 NVL 函数指定任何数据类型,只要这两个参数求值为公共兼容的数据类型。 如果 NVL 函数的两个参数都求值为 NULL,那么函数返回 NULL。 GBase 8s 还支持 NULLIF 函数。该函数类似于 NVL 函数。但语义不同。如果其两个参数相 等,NULLIF 返回 NULL,或者两个参数不相等,将返回第一个参数。有关 NULLIF 函数 的更多信息,请参阅《GBase 8s SQL 指南:语法》。