oracle - 测试 oracle 过程参数中的有效日期

标签 oracle

这里是 Oracle 8。

将日期传递给过程时,我可以传递一个 '' 而不会抛出任何内容。

测试MYDATE := ''不评估为真。 LENGTH < 1 也没有. DBMS_OUTPUT 显示没有任何内容通过参数。

试图通过 '01-30-2009' (instead of 30-JAN-2009)抛出无效日期错误。

传递零长度字符串如何有效?

如何测试有效日期?

最佳答案

在更高版本的 Oracle 中,空字符串被认为与 NULL 相同。这可能就是您遇到的问题。

您可以将参数设置为非空,然后它应该会出错。 (正如 Jeffery Kemp 在评论中指出的那样,您不能对参数使用 not null)

就无效日期错误而言,如果字符串的格式为 dd-mmm-yyyy,Oracle 会将其隐式转换为日期。否则,您将不得不使用适当的掩码在 to_date 中运行它。

我不熟悉 Oracle 8,所以我不确定有什么新东西。希望这会有所帮助。

关于oracle - 测试 oracle 过程参数中的有效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967616/

相关文章:

sql - 如何对来自不同列的值进行分组sql

oracle - 将 Oracle XE 安装到 Ubuntu 时依赖项失败

用于复杂逻辑的 SQL 查询 (pl/sql)

oracle - ORA-01882 : timezone region not found - Oracle ADF Web application

c# - 无效字符错误SQL,OracleDataReader

oracle - REGEXP_LIKE 中的 CHR(0)

java - Oracle IN Operator 中的 JPA 和 1000 ID 使用

sql - 给定一列的总和,对行对/三元组进行排序

oracle - 使用 sqlloader 将 clob 列添加到 Oracle 数据库

sql - ORA-00205 : error in identifying control file, 检查警报日志以获取更多信息