如何在oracle数据库中获取varchar2的声明大小
发布时间:2021-01-12 09:58:37 所属栏目:站长百科 来源:网络整理
导读:试图在Oracle中获取已定义变量的大小.我可能需要在声明varchar2的大小时使用数字,而不是必须跟踪额外的变量或数字. 示例伪代码: declare myvar varchar(42) := 'a';begin /* I know the length is length(myvar) = 1. */ /* but how do I get 42? */ /* Wha
试图在Oracle中获取已定义变量的大小.我可能需要在声明varchar2的大小时使用数字,而不是必须跟踪额外的变量或数字. 示例伪代码: declare myvar varchar(42) := 'a'; begin /* I know the length is length(myvar) = 1. */ /* but how do I get 42? */ /* What is the max defined size of this variable */ declared_size_of(myvar); end 我需要这个的原因是lpad字符串的长度为声明的大小,因此它不会产生异常. 解决方法正如@Justin在他的评论中所说,如果使用CHAR数据类型,则不必显式空白填充字符串. Oracle会将值空白填充到它的最大大小.从documentation,
例如, SQL> SET serveroutput ON SQL> DECLARE 2 myvar CHAR(42); 3 BEGIN 4 myvar:='a'; 5 dbms_output.put_line(LENGTH(myvar)); 6 END; 7 / 42 PL/SQL procedure successfully completed. SQL> (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |