LABEL_FROM_CHAR
📄字数 632
👁️阅读量 加载中...
功能描述
将策略名称与标签字符串转换为内部标签编码。
语法格式
sql
LABEL_FROM_CHAR(expr1, expr2)输入参数
expr1:VARCHAR类型或者能隐式转换为VARCHAR类型的其他类型的值,策略名称。expr2:VARCHAR类型或者能隐式转换为VARCHAR类型的其他类型的值,标签字符串。
输出结果
BIGINT类型,返回值为系统内部编码格式,输入参数为 NULL 时,输出结果为 NULL。
执行类型
| TYPE | VALUE | 说明 |
|---|---|---|
| NATIVE | 0 | 函数只能在本地计算 |
| VOLATI | 0 | 函数的每次计算值不同 |
| STABLE | 0 | 函数的每次计算值相同 |
| COMPUTE | 0 | 函数支持预计算取值 |
| NOT_CONST | 0 | 函数不支持转常数 |
| HAVE_DEF | 0 | 函数参数有默认值 |
示例
sql
-- 登录普通用户创建测试表
SQL> CREATE TABLE TAB1(D1 INT);
-- 登录安全员(SYSSSO)创建安全策略
SQL> CREATE POLICY sso_policy_new ADD LEVEL LEVEL_1 AS 10,ADD CATEGORY CATEGORY1;
-- 给表tab1增加安全策略,需要安全员用户操作
SQL> ALTER TABLE POLICY SYSDBA.TAB1 ADD sso_policy_new COLUMN D2 HIDE LABEL 'level_1:category1';
-- 将安全策略从字符串转为内部标签值
SQL> SELECT LABEL_FROM_CHAR('sso_policy_new', 'level_1:category1') FROM dual;
+------------------+
| EXPR1 |
+------------------+
| 2814749767106561 |
+------------------+