Plsql “不理解”;“可变长度”;在PL/.SQL中
请参阅下面摘自PL/SQL教程的摘录。我有一个问题的部分是第3行,它说薪水的长度是6。我不明白那是什么意思。在本摘录的最后一行中,它声明了一个变量“长度为10”,然后将其初始化为“HR Dept”,当然不是10个字符。什么是长度Plsql “不理解”;“可变长度”;在PL/.SQL中,plsql,Plsql,请参阅下面摘自PL/SQL教程的摘录。我有一个问题的部分是第3行,它说薪水的长度是6。我不明白那是什么意思。在本摘录的最后一行中,它声明了一个变量“长度为10”,然后将其初始化为“HR Dept”,当然不是10个字符。什么是长度 当变量指定为NOTNULL时,必须在声明变量时初始化该变量 例如:下面的示例声明了两个变量,其中一个是NOTNULL DECLARE salary number(4); dept varchar2(10) NOT NULL := “HR Dept”; 另一个例
当变量指定为NOTNULL时,必须在声明变量时初始化该变量 例如:下面的示例声明了两个变量,其中一个是NOTNULL
DECLARE
salary number(4);
dept varchar2(10) NOT NULL := “HR Dept”;
另一个例子:
DECLARE
var_salary number(6);
var_emp_id number(6) = 1116;
1116不是6位数字。我不知所措。最大长度。如果你试图将11个字符存储到dept
中,或者无论你的工作是什么,你都会发现这一点
这与创建表时没有什么不同:
create table users (
id integer,
name varchar(20)
);
在这种情况下,20
是名称的最大长度。这并不意味着每行都必须有一个20个字符的名称。这些是数据的最大“长度”。下面是数字的确切含义:
编号[(p[,s])]
具有精度p和刻度s的数字。精度p的范围为
1至38。刻度s的范围从-84到127。既精确又可靠
刻度以十进制数字表示。数字值要求介于1到22之间
字节
NUMBER(6)
类型的变量可以存储-999999到999999之间的任何数字
对于VARCHAR2:
VARCHAR2(大小[字节字符])
具有可变长度的字符串
最大长度大小为字节或字符。最大大小为4000字节或更大
字符,最小值为1字节或1个字符。您必须指定
VARCHAR2的大小。BYTE表示该列将有字节
长度语义。CHAR表示该列将具有字符
语义学
VARCHAR2(10)最多可以存储10个字节或10个字符(取决于参数
nls\u length\u semantics
)。在oracle中,数字变量的长度是它可以容纳的最大位数。就你的情况而言,你的数字可以在-99999到999999之间HOLY@#*#$)196K哥们,你是什么?
create table users (
id integer,
name varchar(20)
);