为什么我用这个语句Select length(amount) From erp.bom Where amount='1500000.00'统计的长度是7,而我用Select length('1500000.00') From dual统计的结果是10,其中amount字段是NUMBER(13,2)。第一个语句那里错在哪里?

解决方案 »

  1.   

     length('1500000.00') 是字符串
      

  2.   

    Select length(amount) From erp.bom Where amount='1500000.00'如果amount是number型的话, ‘1500000.00’转换成了1500000,1500000就是7位而Select length('1500000.00') From dual你查询的是字符串的长度,当然就是10了
      

  3.   

    要向第一個語句顯示的長度為10,可以這樣寫
    SQL> select length(to_char(amount,'FM9999999.00')) From erp.bom Where amount='1500000.00';
     
    LENGTH(TO_CHAR(1500000.00,'FM9
    ------------------------------
                                10