oralce数据存储问题

1declare2iint;3lvarchar2(5);4begin5i:=1;6l:=01;7dbms_output.put_line(l);8dbms_output.... 1 declare
2 i int;
3 l varchar2(5);
4 begin
5 i:=1;
6 l:=01;
7 dbms_output.put_line(l);
8 dbms_output.put_line(l||to_char(i));
9* end;
SQL> /
1
11
变量l是字符类型,为什么在输出时会忽略0,难道oracle默认字符型也不存储0?
展开
 我来答
badkano
2013-11-23 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885374
团长

向TA提问 私信TA
展开全部

字符本来就应该单引号引起来的

 

在oracle里如果你那字符是字母或汉字那种的,你不加引号直接就报错了

 

但是因为你输入的是数字,oracle会把01默认转成整数,也就是1,所以你最后就显示1了,如果你想显示01,得这样

declare  
i int;  
l varchar2(5);  
begin  
i:=1;  
l:='01';  
dbms_output.put_line(l);  
dbms_output.put_line(l||to_char(i));  
end; 
/
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式