在逻辑上,字段应该是字符串格式,而且是4位或者是9位的。
所以,
select substr(num,1,4) num1,decode(length(num),4,'',num) num2
from tablename;
所以,
select substr(num,1,4) num1,decode(length(num),4,'',num) num2
from tablename;
解决方案 »
- 用子查询来create一个表后。新表是不是就自动有相应子查询的数据了?
- 硕士学历的计算机白领(进者有分)
- 写一条sql语句:在窗体加载的时候查询全部信息并显示,加载成功后,再按条件进行查询
- 如何保证在一个BeginTrans和CommitTrans中不会插入其它的事物
- Oracle存储进程
- ORA_12154很困惑
- 新人请教一系例oracle基础问题,送分来了!!
- oracle 更新语句死锁问题?????
- 在PL/SQL中有没有什么好的方法可以又快又准确地知道同一个用户下表与表之间的主从关系
- pro*c的疑问?
- oem 到底是个啥?
- 请问user_TABLESPACES和dba_TABLESPACES有什么区别吗?
---- ----
0001 Executed in 0 secondsSQL> select substr('0001.0001',1,4) num1,decode(length('0001.0001'),4,'','0001.0001') num2 from dual;NUM1 NUM2
---- ---------
0001 0001.0001Executed in 0.016 secondsSQL>
比如说num值为0001或0001.0002或0001.0002.0003
还和刚才一样
当num=0001时,num1=0001,num2为空,num3为空
当num=0001.0002时,num1=0001,num2=0001.0002,num3为空
当num=0001.0002.0003时,num1=0001,num2=0001.0002,num3=0001.0002.0003
小妹不会举一反三,还望各位大侠多加指点,谢谢谢谢!!!