oracle - PLSQL 语句不检索数据库中存储的不同字符集(垃圾)数字类型
问题描述
桌子:
dummy_table
-------------------
min_value number(25,4);
code varchar2(10; -->primary key
SQL
select d.min_value from dummy_table d where d.code='XYZ';
输出
1000.0000
PL_SQL 块
DECLARE
ar_min_value NUMBER(25, 8);
BEGIN
SELECT d.min_value into ar_min_value from dummy_table d where d.code='XYZ';
dbms_output.put_line('ar_min_value : ' || ar_min_value);
END;
输出
ORA-01722: invalid number
请有人告诉为什么普通 sql 语句可以轻松地将输出显示为 10000.0000 而当数据可用时,plsql 代码返回“ORA-01722:无效数字”。
这是否与字符集有关,以及为什么它在 SQL 中显示 1000.0000 而不是在 PLSQL 代码中。如果它与字符集有关,那么如何在 plsql 块中进行选择查询以显示 1000.0000。
解决方案
推荐阅读
- firebase - 等待屏幕直到文档添加到 Firestore 子集合?
- python - Unhashable 类型,从集合中删除重复项但保持条目顺序
- jquery - 每次打开模式时都会调用一次 jquery 事件
- wpf - 在实体框架中创建上下文时出错
- python - tkinter 模块中按钮的对齐方式
- swift - 在 Swift 4 中创建类似 Spotlight 的窗口?
- python - 如何通过子类从主类访问初始化变量?
- kotlin - 如何访问 RecyclerView 适配器 itemView 项目?
- ibm-watson - 用于测试的成熟 Watson Assistant 集成
- bash - 如何用当前时间命名文件?