今天在执行一个sql语句时,发现一只报 无效数字
SELECT ddtime,dcprovince,dctffee,to_number(dctffee) FROM
KS_OSS002 WHERE dntftype<>1 and ddtime>=TO_DATE('2012-02-14 00:00:00','yyyy-mm-dd hh24:mi:ss') AND ddtime<=TO_DATE('2012-02-14 09:59:59','yyyy-mm-dd hh24:mi:ss')
and to_number(dctffee)>=0
如果where条件中的to_number(dctffee)去掉后,就不会报错。后来发现原来是数据库中 有条记录dctffee字段填写的是全角的数字,本来以为 只要select 中的 to_number(dctffee)能出来就说明没有问题了,其实 如果没有最后的 to_number(dctffee)>=0条件,那条有问题的记录
没有包含在结果集里,但是最后加上and to_number(dctffee)>=0 ,会在判断 dntftype<>1 之前判断 to_number(dctffee)>=0,导致一直报无效数字
的错误。
看来自己还是很小白啊!!!! XD
分享到:
相关推荐
首先,让我们先来理解一下题目中提到的错误信息:`ORA-01722: 无效的数字`。根据Oracle官方文档和提供的错误信息,我们可以得知该错误发生的根本原因是尝试将一个非数值型的字符串转换为数字时失败了。具体来说: -...
根据提供的信息,我们可以详细解析如何在Oracle数据库中实现身份证号码的有效性验证功能。身份证号码在中国大陆通常由18位数字组成,其中包括了出生日期、性别等个人信息,并通过一个复杂的算法来确保最后一位校验码...
2. **返回值类型**:`NUMBER`,返回1表示输入字符串可以被解析成有效日期,返回0表示无效。 3. **逻辑流程**: - **空值检查**:如果输入字符串为空,则直接返回0。 - **长度检查**:日期字符串应该为8位数字...
Oracle错误通常以“ORA-”开头,后跟四位或五位数字,例如"ORA-00001","ORA-01422"等。这些错误代码帮助我们识别和解决问题,每个错误代码都有其特定的含义和解决策略。 1. **ORA-00001: unique constraint ...
- Oracle将字符串转换为数字使用`to_number`,例如:`select to_number('123') from dual;` - DB2使用`cast`函数:`select cast('123' as integer) from sysibm.sysdummy1;` 8. **创建类似表** - Oracle通过`...
这包括确保数据类型匹配(例如,Excel的数字可能需要转换为Oracle的NUMBER,日期需要转换为DATE类型),并处理可能存在的空值或缺失值。 6. **数据预处理**:在导入之前,可能需要对数据进行预处理,比如去除无效值...
§17.7.2 包中无效对象的查询和编译 294 §17.7.3 包源代码的导出 296 第十八章 触发器 297 §18.1 触发器类型 297 §18.1.1 DML触发器 297 §18.1.2 替代触发器 298 §18.1.3 系统触发器 298 §18.2 创建触发器 298...
示例代码:SELECT TO_NUMBER(ename) FROM emp; 14. 完整性约束失败(229123000):当我们尝试插入一个包含与现有主键不匹配的外键的行时,Oracle 将抛出这个错误代码。 示例代码:INSERT INTO order_items (order_...
通过定义外键,可以确保表间的链接正确无误,避免无效的数据引用。 3. **为什么要对某些字段的取值进行限制?** - 字段取值限制有助于保证数据的有效性和一致性,防止非法数据的输入。例如,可以通过设置非空约束...
1. **问题1:从Excel抽取数据到Oracle 9数据库时出现无效数字错误** 错误描述:在尝试插入数据时,Oracle 报告 `ORA-01722: 无效数字` 错误,这通常是因为字段格式不匹配。例如,字段 "field2" 的值 "1,798" 被识别...
- `ORA-1722 Invalid-NUMBER`:转换一个数字失败。 - `ORA-6500 Storage-error`:内存不够引发的内部错误。 - `ORA-6501 Program-error`:内部错误。 - `ORA-6502 Value-error`:转换或截断错误。 - `ORA-6504 ...
PL/SQL提供了多种内置函数来支持数据类型的转换,例如TO_CHAR、TO_NUMBER等。 **2.9 运算符和表达式** PL/SQL支持多种运算符,包括关系运算符、一般运算符和逻辑运算符。表达式则是由变量、常量和运算符组成的组合...
TO '/usr/oracle/dbs/jxzynew.dbf' ONLINE; ``` 该命令更改了`jxzy`表空间的数据文件名称。 4. **删除表空间**: ```sql SQL> DROP TABLESPACE jxzy INCLUDING CONTENTS; ``` 此命令不仅删除了表空间`jxzy`...
10.3 使用TO_CHAR、TO_NUMBER 和TO_DATE转换函数 361 10.4 在SELECT语句中应用条件表达式 368 10.4.1 嵌套函数 368 10.4.2 条件函数 369 10.5 本章知识点回顾 375 10.6 自测题 376 10.7 自测题答案 378 第11...
数字类型如`NUMBER(p,s)`可以表示整数和小数。日期类型`DATE`包含年月日和时分秒,而`TIMESTAMP`则提供更高的精度。二进制大对象`BLOB`适合存储图片和声音,但通常不直接存储,而是存储路径或在安全性要求高的情况下...
-- 首先,以超级管理员的身份登录oracle sqlplus sys/bjsxt as sysdba --然后,解除对scott用户的锁 alter user scott account unlock; --那么这个用户名就能使用了。 --(默认全局数据库名orcl) 1、...
当出现`ORA-12801: 并行查询服务器P007中发出错误信号`和`ORA-01722:无效数字`这两个错误时,意味着在并行查询过程中,某个并行服务器进程遇到了异常情况,具体表现为尝试转换的数据不符合数字格式。`ORA-1722`错误...
2. **无效数字错误(ORA-01722)**: 在数据加载过程中,如果数据字段的最后一个字段是NUMBER类型,且存在换行符(比如`\r\n`),SQL*Loader会尝试将换行符作为数值的一部分,从而引发此错误。解决方法是在控制文件...