Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Quy trình gọi từ báo cáo tiên tri đến tinh thể

một khả năng là in_year không được Crystal chuyển vào hoặc được chuyển vào dưới dạng NULL.

vui lòng xác minh điều này. bạn có thể thêm mã này làm kiểm tra nhanh:

  if (trim(in_year) is null) or length(in_year != 4))
  then
    raise_application_error(-20000, 'year is invalid: '  || in_year);
  end if;
 inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');

lỗi gì mà ném?

như thể năm trống, chúng tôi sẽ gặp lỗi đó:

SQL> declare
  2    inv_date DATE;
  3     in_year varchar2(42) ;
  4  begin
  5   inv_date := to_date('31-01-' || in_year || ' 23:59:59', 'DD-MM-YYYY HH24:MI:SS');
  6  end;
  7  /
declare
*
ERROR at line 1:
ORA-01850: hour must be between 0 and 23
ORA-06512: at line 5


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để nối các đối tượng ResultSet trong java?

  2. Các công cụ thích hợp giúp điều chỉnh hoạt động nhanh chóng

  3. Cách biểu diễn phép chia quan hệ (biểu thức đại số cơ bản) trong SQL

  4. Mã nhận dạng Oracle thông thạo Nhibernate Quá dài - Vấn đề về tên bí danh

  5. Làm thế nào để lưu dữ liệu unicode vào oracle?