问题描述
比如表table有两字段a和b,都是number类型的ab2002520036200710合并后显示成:c2002.52003.62007.10还有个问题,怎么让查询出来的number类型的数据保留两位小数?
解决方案
解决方案二:
selecttrunc(to_number(2002||'.'||555),2)fromdual;
解决方案三:
楼上的把我意思弄错了合并时好象应该转换一下类型吧?而我最后一个问题是针对别的字段的,两个问题不要弄混淆,误导大家,谢谢
解决方案四:
selectto_char(a)+'.'+to_char(b)ascfromtable;selecttrunc(a,2)asdfromtable;
解决方案五:
笨啊,你非要我把下面的语句拆成两条才算得上回答你的两个问题么selecttrunc(to_number(a¦¦'.'¦¦b),2)fromtable;
解决方案六:
引用4楼jinjazz的回复:
笨啊,你非要我把下面的语句拆成两条才算得上回答你的两个问题么selecttrunc(to_number(a¦¦'.'¦¦b),2)fromtable;
汗一个。。
解决方案七:
其中:num表中的字段属性如下:列名数据类型长度允许空idint4nonum1real4yesnum2real4yesnum3real4yes去数据库里面执行下如下的存储过程就ok了!proc_numCREATEPROCEDUREproc_numASdeclare@numfloatdeclare@ifloatdeclare@strchar(20)declare@num_tempfloatset@i=1set@num_temp=0select@num=count(*)fromnumwhile(@i<=@num)beginselect@num_temp=num1+(num2+0.0)/power(10,len(num2))fromnumwhereid=@i--select@num_tempupdatenumsetnum3=@num_tempwhereid=@iset@i=@i+1endGO
解决方案八:
ORACLE中通过selectto_char(a)||'.'||to_char(b)cfromvip_leaveword