如何在PL/SQL中模拟32位有符号整数溢出?

2024-05-18

您知道如何在 Oracle PL/SQL 中模拟 32 位整数溢出吗? 例如,

2147483647 + 1 = -2147483648

or

-2147483648 - 1 = 212147483647

我尝试了 PLS_INTEGER,但它引发了溢出异常。


我终于找到了一种方法来做到这一点。让我们说N是一个类型的值NUMBER,并且您需要以某种方式模拟 32 位有符号整数溢出,然后:

N := MOD(N, 4294967296);
IF N > 2147483647
THEN
    N := N - 4294967296;
ELSIF N < -2147483648
THEN
    N := N + 4294967296;
END IF;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在PL/SQL中模拟32位有符号整数溢出? 的相关文章

  • 将 MS SQL Server 数据库连接到 Oracle 11g 数据库

    我正在努力创建从 Oracle 数据库到一个 SQL Server 的数据库链接 为此 我添加了以下内容 In file tnsnames ora sqlUserConn DESCRIPTION ADDRESS PROTOCOL tcp H
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • Oracle SQL 查询日期格式

    我总是对 ORACLE SQL 查询中的日期格式感到困惑 并花几分钟时间去谷歌 有人可以向我解释当数据库表中有不同格式的日期时解决问题的最简单方法吗 例如 我有一个日期列为 ES DATE 保存的数据为 27 APR 12 11 52 48
  • oracle嵌套表的最大行数是多少

    CREATE TYPE nums list AS TABLE OF NUMBER Oracle 嵌套表中最大可能的行数是多少 UPDATE CREATE TYPE nums list AS TABLE OF NUMBER CREATE OR
  • SQL Fiddle 输出错误

    其实我对 PL SQL 还很陌生 我在 SQL Fiddle 中使用 oracle pl sql 创建了下表 create table Employee name varchar2 100 id integer salary integer
  • Oracle 事务在 C++ 和 Java 之间的传播

    我们有一个现有的 C 应用程序 我们将逐步将其替换为新的基于 Java 的系统 在我们用 Java 完全重新实现所有内容之前 我们期望 C 和 Java 必须相互通信 RMI SOAP 消息传递等 我们尚未决定 现在我的经理认为我们需要 J
  • 如何在 Pro*C 查询中指定变量表达式列表?

    我尝试优化的 Pro C 查询出现问题 解释一下 我们的应用程序在一个巨大的数据库中搜索行 这些行存在于多种语言中 旧代码为数组中的每种语言选择一行 现在 由于这些查询是我们应用程序中最耗时的部分 因此我只想进行一个直接写入数组的查询 语言
  • 存储整数列表的最有效方法

    我最近一直在做一个项目 其中一个目标是使用尽可能少的内存来使用 Python 3 存储一系列文件 除了一个整数列表之外 几乎所有文件都占用很少的空间 大致333 000整数长且整数可达约8000在尺寸方面 我目前正在使用pickle存储列表
  • 查看oracle中重复行的所有数据

    我有一个有 6 列的表 id name type id code lat long 前三个是必需的 ID是私钥 按序列自动插入 我有一些重复的行 正如两者所定义的name and type id是平等的 但我想查看受骗者的所有数据 我可以很
  • 如何查看任意 Oracle 会话正在使用的事务隔离级别

    我试图找出特定会话 不是我自己的会话 在 Oracle 服务器上的隔离级别 有 v 视图可以得到这个吗 您可以在中测试位 28flag列于v transaction 1 http forums oracle com forums threa
  • 转置和聚合 Oracle 列数据

    我有以下数据 Base End RMSA Item 1 RMSA Item 2 RMSA Item 3 RMSB Item 1 RMSB Item 2 RMSC Item 4 我想将其转换为以下格式 Key Products RMSA RM
  • 如何在Oracle中将“(Ab56.12345)some_string”的一个字符串列拆分为两列“Ab.12345”,“some_string”

    正如问题一样 如何拆分一个字符串列 Ab56 12345 some string到两列Ab56 12345and some string在甲骨文中 注意 并非所有列都 Ab56 12345 some string 部分列仅some stri
  • PLS-00103:遇到符号“CREATE”

    这个包有什么问题 因为它给出了错误 CREATE OR REPLACE PACKAGE PKG SHOW CUST DETAILS AS PROCEDURE SHOW CUST DETAILS myArg VARCHAR2 END PKG
  • 版本控制存储过程/PLSQL?

    有没有一种有效的方法来对用 PL SQL 编写的存储过程进行版本控制 我只提到 PL SQL 因为可能存在特定的工具 任何针对存储过程版本控制的答案都是理想的 在我目前的工作中 团队现在使用以下方法对PL SQL进行版本控制 编译PL SQ
  • JSON 转换带有整数键的 Map

    我有一个测试代码的小样本 我尝试将 Map 转换为 JSON 字符串并返回 在解析 JSON 字符串时 结果映射包含字符串键 1 而不是整数键 1 从而导致测试失败 用作此映射的键的 POJO 也会发生同样的情况 这是预期行为还是我省略了
  • 如何在 Hibernate 中使用 Oracle 查询提示

    我试图在 Hibernate 中使用 Oracle 提示来调用强制索引 但在 Hibernate 3 6 10 Final 中没有找到任何合适的 API 我以某种方式尝试了 Hibernate 标准中的预测 proList add Proj
  • 如何找到 Oracle 数据库的 URL?

    如何找到 Oracle 数据库的 URL 和端口 Example jdbc oracle thin host port dbName 用户名 密码 是否有我可以查看的 SQL 命令或日志 配置文件 对于甲骨文来说 有一个tnsnames o
  • Oracle:如何查找模式中上次更新(任何表)的时间戳?

    有一个Oracle数据库模式 数据很小 但仍然有10 15个表左右 它包含一种配置 路由表 有一个应用程序必须不时轮询此架构 不得使用通知 如果架构中没有数据更新 应用程序应使用其当前的内存版本 如果任何表有任何更新 应用程序应将所有表重新
  • Power BI 中的区分大小写

    我想知道是否可以在 Power BI 中配置区分大小写 我在 Oracle 数据库中有数据 其中主键EXample不同于exampLE 但如果我想将其导入到Power BI中 就不行了 任何想法 目前 我认为最好的选择是在查询编辑器阶段为主
  • 以无法破坏的方式限制表中允许的记录数量

    我们有一个 Web 应用程序 Grails 我们将根据用户数量为其出售许可证 数据库 Oracle 10g 中有一个表保存用户 客户将托管自己的软件和数据库副本 有人可以建议一些策略来限制允许存在于用户表中的记录数量 从而使客户无法合理地破

随机推荐