to_number Oracle SQL 中数字格式的动态长度

2023-12-10

我有一个表,其中的数字存储为varchar2和 '。'作为小数点分隔符(例如“5.92843”)。

我想使用“,”来计算这些数字,因为这是系统默认值,并且使用了以下内容to_number去做这个:

TO_NUMBER(number,'99999D9999','NLS_NUMERIC_CHARACTERS = ''.,''')

我的问题是有些数字可能很长,因为该字段是VARCHAR2(100),当它比我定义的格式长时,我的to_number失败了ORA-01722.

有什么方法可以定义动态数字格式吗? 我并不真正关心格式,只要我可以设置我的小数字符即可。


有什么方法可以定义无限数量的格式吗?

唯一的方法是设置适当的值nls_numeric_characters参数会话范围和使用to_number()函数无需指定格式掩码。

这是一个简单的例子。小数分隔符是逗号","并且数字文字包含句点"."作为小数分隔符:

SQL> show parameter nls_numeric_characters;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------
nls_numeric_characters               string      ,.

SQL> with t1(col) as(
  2    select '12345.567'  from dual union all
  3    select '12.45'      from dual
  4  )
  5  select to_number(col) as res
  6    from t1;
select to_number(col)
       *
ERROR at line 5:
ORA-01722: invalid number 

SQL> alter session set nls_numeric_characters='.,';

Session altered.

SQL> with t1(col) as(
  2    select '12345.567'  from dual union all
  3    select '12.45'      from dual
  4  )
  5  select to_number(col) as res
  6    from t1;

res                                                                 
--------------    
     12345.567       
         12.45    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

to_number Oracle SQL 中数字格式的动态长度 的相关文章

  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 为表中的每个组选择前 N 行

    我面临一个非常常见的问题 即 为表中的每个组选择前 N 行 考虑一个表id name hair colour score列 我想要一个结果集 对于每种头发颜色 都能得到前 3 名得分手的名字 为了解决这个问题 我得到了我所需要的Rick O
  • 将表数据从一个 SQL Server 导出到另一台 SQL Server

    我有两个 SQL Server 都是 2005 版本 我想将多个表从一个表迁移到另一个表 我努力了 在源服务器上 我右键单击数据库 选择Tasks Generate scripts 问题是在下面Table View options没有Scr
  • LiveSQL 不断向我显示:ORA-00933:SQL 命令未正确结束[重复]

    这个问题在这里已经有答案了 INSERT INTO Countries Country Capital Cities VALUES Philippines Manila 122 USA Washington 19495 Brazil Bra
  • 在 postgres 查询中使用列表

    我有一个动态列表 list a b c d 所以长度可能会改变 我想在查询中比较这些列表值 select from student where name in all the list values 我想将列表值传递到此查询中 我怎样才能做
  • 如何找到多个列中的最小值

    我在我的 DB 3 col 中有一个值 我想在所有这些值中找到一个值 如下所述 表名 MyTable id col1 col2 col3 1 200 300 400 2 100 150 300 3 800 102 20 4 80 80 0
  • 如何在mysql中选择具有相同值集的列?

    我的桌子是 patients pid name city disease did dname has disease did pid 我想列出具有相同疾病组的患者 pid 和 did 分别是患者和疾病表中的主键 并且是 has diseas
  • Oracle 语法 - 我们是否必须在新旧语法之间进行选择?

    我在一个由大约 8 名开发人员组成的团队中负责大约 1 000 000 行源代码的代码库 我们的代码基本上是一个使用 Oracle 数据库的应用程序 但代码随着时间的推移而不断发展 我们有大量九十年代中期的源代码 团队中就我们用于查询 Or
  • 我怎样才能知道oracle 9i中哪些值是数字

    我有这个包含 varchar 的数据库 我想知道哪些记录保存数值 我试过REGEXP COUNT和其他 但我在 9i 上运行 我认为这是针对 10g gt 我怎样才能实现这个目标 I tried select to number my co
  • 删除连接到另一表 SQL 的一个表中的记录

    我有两个表 一个包含 212 000 条记录 已弃用的记录 另一个包含 10 500 000 条记录 我想在 id 和 version number 字段上连接两个表 因为两个表都有这些字段 我希望从连接表中删除匹配的记录 来自连接表 即从
  • OracleDataSource.getConnection 是线程安全的吗?

    我以为找到这个答案很容易 但并不是那么容易 有谁知道 OracleDataSource getConnection 方法是否是线程安全的 我不是指它返回的 Connection 对象 而是指 getConnection 本身的调用 具体来说
  • 给定“java.sql.SQLIntegrityConstraintViolationException”是否可以确定错误的列

    鉴于我有一个类型为 java sql SQLIntegrityConstraintViolationException 的异常 是否可以以编程方式确定错误的列 或多列 我问这个问题是因为我想将错误映射回客户端的数据模型以指示错误的字段 例如
  • 在单个 select 语句中多次有条件地求和同一列?

    我有一个表 显示每个月在给定位置的各种类型的部署的员工部署情况 ID Location ID Date NumEmployees DeploymentType ID 例如 一些记录可能是 1 L1 12 2010 7 1 Permanent
  • 如何查找当前数据库类型

    我们有一个 SQL 脚本可以在多种类型的数据库上执行 是否可以获取正在执行 SQL 脚本的当前数据库的类型 注意 我们不能使用非标准 SQL 即 TSQL 等 不 ANSI SQL 中没有任何关于确定数据库供应商的内容
  • ora-04091 表正在发生变化-

    我正在使用一个函数来比较表 1 和表 2 中的所有列并返回 Y 或 N 在此基础上 我将更新我的表 1 但是当我运行合并语句时 它显示错误 ora 04091 Table1 正在发生变化 触发器 函数可能看不到它 我怎样才能解决这个问题 C
  • MySQL“LIKE”搜索不起作用

    我通过 LOAD DATA INFILE 在 MySQL 中导入了一个 txt 数据库 一切似乎都正常 唯一的问题是 如果我使用以下查询在数据库上搜索记录 SELECT FROM hobby WHERE name LIKE Beading
  • 将 .MDF SQL Server 数据库与 ASP.NET 结合使用与使用 SQL Server

    我目前正在 ASP NET MVC 中编写一个网站 我的数据库 其中还没有任何数据 只有正确的表 使用 SQL Server 2008 我已将其安装在我的开发计算机上 我使用服务器资源管理器从应用程序连接到数据库 然后使用 LINQ to
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一

随机推荐

  • 该进程无法访问该文件,因为该文件正在被另一个进程使用

    我有来自特定目录的 tif 文件 我有一个函数可以读取所有 tif 文件并将其转换为文本 转换后 一旦成功转换 我将其移动到名为 Completed 的文件夹 然后将其移动失败文件夹一旦转换失败 问题是当我使用 System IO File
  • 在 C++ 中如何实现从 int 到 object 的赋值?

    class phone public phone int x num x int number void return num void number int x num x private int num int main void ph
  • 找到矩阵中的主对角线 - 方案

    我需要从方阵中提取主对角线 1 2 3 4 5 6 gt 1 5 9 7 8 9 我有以下代码 我需要替换 具有适当的功能 define diag m if null m cons m diag map m Input diag 1 2 3
  • 我如何使用 python 从键盘发送命令。我正在尝试自动化 mac 应用程序 (GUI)

    我正在尝试使用 python 自动化应用程序 我需要帮助通过 python 发送键盘命令 我正在使用 powerBook G4 您可以使用 osascript 工具从 python 脚本调用 AppleScript import os cm
  • 如何查找 PDF 中所有出现的特定文本并在上方插入分页符?

    我对 PDF 有一个棘手的要求 我需要在 pdf 中搜索特定字符串 属性编号 每次找到这个 我都需要在上面添加一个分页符 我可以访问 IText 和 Spire PDF 我首先查看 IText 我从这里的其他帖子中确定我需要使用 PDF S
  • 保留实体框架查询缓存

    我有一个 ASP NET MVC 5 Web 应用程序并使用 EF 6 1 访问我的数据库 我有一些相当复杂的 LINQ 查询 编译需要长达 10 秒的时间 但执行后只需几毫秒 EF 确实会很好地缓存此查询 并且第二次执行查询时 它会在这几
  • 从 Mac 测试 IE 的最佳工具 - 无需 PC [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 测试网站设计的跨浏览器兼容
  • 两个带有 count 的语句相除返回零

    我是 SQL 新手 使用 SQLiteStudio 并且正在尝试使用一些聚合函数 我想找到数据子集中个体数量小于 575 的比例 但查询始终返回零 SELECT A B 100 FROM SELECT COUNT AS A FROM Mal
  • 使用 RequestBody 的 POST 请求不起作用

    在下面的示例中 我使用 POST 和 GET 方法 post 是初始化一个变量 GET 是获取这个变量 我使用 Postman 来发出请求 我收到错误 RequestBody value val cant resolve method va
  • 使用自定义属性有效吗?

    我想取消任何链接并为每个链接添加额外的属性 下面是我是如何实现这一目标的 function anularEnlaces nav a each function var href this attr href var id this attr
  • C# 按字母顺序和长度对 Arraylist 字符串进行排序

    我正在尝试排序ArrayList of String Given A C AA B CC BB Arraylist Sort gives A AA B BB C CC 我需要的是 A B C AA BB CC ArrayList list
  • +0和-0一样吗?

    阅读通过ECMAScript 5 1 规范 0 and 0是杰出的 那么为什么呢 0 0评估为true JavaScript 使用IEEE 754 标准来表示数字 从维基百科 签名零为零并带有相关符号 在普通算术中 0 0 0 然而 在计算
  • Android 应用程序 - 如何获取联系人的生日

    我正在开发一个 Android 应用程序 我需要将每个联系人的生日与当前日期进行匹配 如果是的话 则处理一些业务逻辑 这需要完整的联系人详细信息 我找到了分别读取联系人生日或联系人本身的方法 但对如何将两者结合起来感到困惑 有人可以提供一些
  • 如何用段落标签包围所有文本片段? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我想在任何文本项周围放置段落标签 因此应该避免表格和其他元素 我怎么做 我想它可以用某种方式制成preg replace 以下是一些可以帮助您完成您想做的事情的函数 nl2p T
  • Yii2 gridview - 模式仅在单击第一行时显示

    我正在使用 kartik grid GridView 和 kartik grid ExpandRowColumn 来显示摘要信息 在 ExpandRowColumn 上 我有另一个 gridview 来列出详细信息 这部分工作正常 在 Ex
  • swift 3 Playground 中的回调[重复]

    这个问题在这里已经有答案了 您好 我正在尝试在操场上执行这行代码 但得到任何响应输出 我的代码如下 func testCallbackEmpty callback escaping gt Void DispatchQueue main as
  • 如何在 WordPress 插件中使用多媒体上传器?

    我尝试在 WordPress 插件中添加多重上传选项 我在插件中重复了此代码 两次 仅更改了 id 名称
  • 我可以使用反射访问 ItemsControl 的 ItemsHost 吗?

    我正在创建自定义ItemsControl这是源自DataGrid 我需要访问 ItemsHost 这是Panel实际上包含行DataGrid 我见过一些丑陋的技巧来做到这一点 但我认为它们比使用反射更糟糕 那么我可以使用反射访问 Items
  • 如何使用/导入http模块?

    我一直在玩Angular 2 快速入门 如何在 Angular 2 中使用 导入 http 模块 我看过Angular 2 Todo s js 但它不使用 http 模块 我已经添加 ngHttp angular http to depen
  • to_number Oracle SQL 中数字格式的动态长度

    我有一个表 其中的数字存储为varchar2和 作为小数点分隔符 例如 5 92843 我想使用 来计算这些数字 因为这是系统默认值 并且使用了以下内容to number去做这个 TO NUMBER number 99999D9999 NL