当前位置: 代码迷 >> Oracle管理 >> sql语句转成oracle,该如何处理
  详细解决方案

sql语句转成oracle,该如何处理

热度:49   发布时间:2016-04-24 05:29:28.0
sql语句转成oracle
select right('00000'+Convert(nvarchar(50),max(Convert(int,bh)+1)),5) from J_topic where Parentbh=''

这句在oracle里怎么写?谢谢

------解决方案--------------------
请参考:
SQL code
SELECT SUBSTR('00000' || to_char(MAX(to_number(bh)) + 1),     LENGTH('00000' || to_char(MAX(to_number(bh)) + 1)) - 5);
------解决方案--------------------
SQL code
SELECT lpad(to_char(max(to_number('123')+1)),10,'0') FROM dual
------解决方案--------------------
select right('00000'+Convert(nvarchar(50),max(Convert(int,bh)+1)),5) from J_topic where Parentbh=''
--'00000'+Convert(nvarchar(50),max(Convert(int,bh)+1))
--max(Convert(int,bh)+1)
--逐步拆解,要求期实很简单,最大编码+1,然后左边补零
--类为BH这个类型为别的类型,需要先做转换。这个转换ORACLE不需要,如果没记错的话,1在做加减等同于'1'
--转换后再换换回字符型,但我没懂,为什么要转为nvarchar
select lpad(max(BH)+1,'0',5) from J_topic where Parentbh='';
  相关解决方案