<i id='tVRUn'><tr id='tVRUn'><dt id='tVRUn'><q id='tVRUn'><span id='tVRUn'><b id='tVRUn'><form id='tVRUn'><ins id='tVRUn'></ins><ul id='tVRUn'></ul><sub id='tVRUn'></sub></form><legend id='tVRUn'></legend><bdo id='tVRUn'><pre id='tVRUn'><center id='tVRUn'></center></pre></bdo></b><th id='tVRUn'></th></span></q></dt></tr></i><div id='tVRUn'><tfoot id='tVRUn'></tfoot><dl id='tVRUn'><fieldset id='tVRUn'></fieldset></dl></div>
          <bdo id='tVRUn'></bdo><ul id='tVRUn'></ul>
        <tfoot id='tVRUn'></tfoot>
      1. <small id='tVRUn'></small><noframes id='tVRUn'>

        <legend id='tVRUn'><style id='tVRUn'><dir id='tVRUn'><q id='tVRUn'></q></dir></style></legend>

        “安全"TO_NUMBER()

        时间:2023-09-19

        <small id='8n1HQ'></small><noframes id='8n1HQ'>

        <tfoot id='8n1HQ'></tfoot>

            • <legend id='8n1HQ'><style id='8n1HQ'><dir id='8n1HQ'><q id='8n1HQ'></q></dir></style></legend>
            • <i id='8n1HQ'><tr id='8n1HQ'><dt id='8n1HQ'><q id='8n1HQ'><span id='8n1HQ'><b id='8n1HQ'><form id='8n1HQ'><ins id='8n1HQ'></ins><ul id='8n1HQ'></ul><sub id='8n1HQ'></sub></form><legend id='8n1HQ'></legend><bdo id='8n1HQ'><pre id='8n1HQ'><center id='8n1HQ'></center></pre></bdo></b><th id='8n1HQ'></th></span></q></dt></tr></i><div id='8n1HQ'><tfoot id='8n1HQ'></tfoot><dl id='8n1HQ'><fieldset id='8n1HQ'></fieldset></dl></div>
              • <bdo id='8n1HQ'></bdo><ul id='8n1HQ'></ul>
                    <tbody id='8n1HQ'></tbody>
                1. 本文介绍了“安全"TO_NUMBER()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  SELECT TO_NUMBER('*') FROM DUAL
                  

                  这显然给了我一个例外:

                  This obviously gives me an exception:

                  ORA-01722:无效号码

                  ORA-01722: invalid number

                  有没有办法跳过"它并获得 0NULL 代替?

                  Is there a way to "skip" it and get 0 or NULL instead?

                  整个问题:我有 NVARCHAR2 字段,其中包含数字而不是几乎 ;-)(如 *),我需要从列中选择最大的数字.

                  The whole issue: I have NVARCHAR2 field, which contains numbers and not almost ;-) (like *) and I need to select the biggest number from the column.

                  是的,我知道这是一个糟糕的设计,但这正是我现在需要的...... :-S

                  Yes, I know it is a terrible design, but this is what I need now... :-S

                  UPD:

                  我自己用

                  COALESCE(TO_NUMBER(REGEXP_SUBSTR(field, '^d+')), 0)
                  

                  推荐答案

                  我找不到比这更好的了:

                  I couldn't find anything better than this:

                  function safe_to_number(p varchar2) return number is
                      v number;
                    begin
                      v := to_number(p);
                      return v;
                    exception when others then return 0;
                  end;
                  

                  这篇关于“安全"TO_NUMBER()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:oracle中CURRENT_TIMESTAMP和SYSDATE不同 下一篇:Oracle:“(+)"在 WHERE 子句中有什么作用?

                  相关文章

                  <small id='FKVEw'></small><noframes id='FKVEw'>

                  <legend id='FKVEw'><style id='FKVEw'><dir id='FKVEw'><q id='FKVEw'></q></dir></style></legend>

                    • <bdo id='FKVEw'></bdo><ul id='FKVEw'></ul>
                  1. <tfoot id='FKVEw'></tfoot>

                  2. <i id='FKVEw'><tr id='FKVEw'><dt id='FKVEw'><q id='FKVEw'><span id='FKVEw'><b id='FKVEw'><form id='FKVEw'><ins id='FKVEw'></ins><ul id='FKVEw'></ul><sub id='FKVEw'></sub></form><legend id='FKVEw'></legend><bdo id='FKVEw'><pre id='FKVEw'><center id='FKVEw'></center></pre></bdo></b><th id='FKVEw'></th></span></q></dt></tr></i><div id='FKVEw'><tfoot id='FKVEw'></tfoot><dl id='FKVEw'><fieldset id='FKVEw'></fieldset></dl></div>